django-bulk-hooks 0.1.273__tar.gz → 0.1.274__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of django-bulk-hooks might be problematic. Click here for more details.

Files changed (17) hide show
  1. {django_bulk_hooks-0.1.273 → django_bulk_hooks-0.1.274}/PKG-INFO +1 -1
  2. {django_bulk_hooks-0.1.273 → django_bulk_hooks-0.1.274}/django_bulk_hooks/queryset.py +17 -5
  3. {django_bulk_hooks-0.1.273 → django_bulk_hooks-0.1.274}/pyproject.toml +1 -1
  4. {django_bulk_hooks-0.1.273 → django_bulk_hooks-0.1.274}/LICENSE +0 -0
  5. {django_bulk_hooks-0.1.273 → django_bulk_hooks-0.1.274}/README.md +0 -0
  6. {django_bulk_hooks-0.1.273 → django_bulk_hooks-0.1.274}/django_bulk_hooks/__init__.py +0 -0
  7. {django_bulk_hooks-0.1.273 → django_bulk_hooks-0.1.274}/django_bulk_hooks/conditions.py +0 -0
  8. {django_bulk_hooks-0.1.273 → django_bulk_hooks-0.1.274}/django_bulk_hooks/constants.py +0 -0
  9. {django_bulk_hooks-0.1.273 → django_bulk_hooks-0.1.274}/django_bulk_hooks/context.py +0 -0
  10. {django_bulk_hooks-0.1.273 → django_bulk_hooks-0.1.274}/django_bulk_hooks/decorators.py +0 -0
  11. {django_bulk_hooks-0.1.273 → django_bulk_hooks-0.1.274}/django_bulk_hooks/engine.py +0 -0
  12. {django_bulk_hooks-0.1.273 → django_bulk_hooks-0.1.274}/django_bulk_hooks/enums.py +0 -0
  13. {django_bulk_hooks-0.1.273 → django_bulk_hooks-0.1.274}/django_bulk_hooks/handler.py +0 -0
  14. {django_bulk_hooks-0.1.273 → django_bulk_hooks-0.1.274}/django_bulk_hooks/manager.py +0 -0
  15. {django_bulk_hooks-0.1.273 → django_bulk_hooks-0.1.274}/django_bulk_hooks/models.py +0 -0
  16. {django_bulk_hooks-0.1.273 → django_bulk_hooks-0.1.274}/django_bulk_hooks/priority.py +0 -0
  17. {django_bulk_hooks-0.1.273 → django_bulk_hooks-0.1.274}/django_bulk_hooks/registry.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: django-bulk-hooks
3
- Version: 0.1.273
3
+ Version: 0.1.274
4
4
  Summary: Hook-style hooks for Django bulk operations like bulk_create and bulk_update.
5
5
  License: MIT
6
6
  Keywords: django,bulk,hooks
@@ -571,13 +571,25 @@ class HookQuerySetMixin:
571
571
  raw_existing = list(existing_query.values_list(*unique_fields))
572
572
  logger.debug(f"DEBUG: Raw existing records from DB: {raw_existing}")
573
573
 
574
- existing_records_found = []
574
+ # Convert database values to match object types for comparison
575
+ # This handles cases where object values are strings but DB values are integers
576
+ existing_records_lookup = set()
575
577
  for existing_record in raw_existing:
576
- # Convert tuple to a hashable key for lookup
577
- existing_records_lookup.add(existing_record)
578
- existing_records_found.append(existing_record)
578
+ # Convert each value in the tuple to match the type from object extraction
579
+ converted_record = []
580
+ for i, field_name in enumerate(unique_fields):
581
+ db_value = existing_record[i]
582
+ # Check if this field uses _id suffix in the query
583
+ query_field_name = query_fields[field_name]
584
+ if query_field_name.endswith('_id'):
585
+ # Convert to string to match how we extract from objects
586
+ converted_record.append(str(db_value))
587
+ else:
588
+ converted_record.append(db_value)
589
+ converted_tuple = tuple(converted_record)
590
+ existing_records_lookup.add(converted_tuple)
579
591
 
580
- logger.debug(f"DEBUG: Found {len(existing_records_found)} existing records: {existing_records_found}")
592
+ logger.debug(f"DEBUG: Found {len(raw_existing)} existing records from DB")
581
593
  logger.debug(f"DEBUG: Existing records lookup set: {existing_records_lookup}")
582
594
 
583
595
  # Separate records based on whether they already exist
@@ -1,6 +1,6 @@
1
1
  [tool.poetry]
2
2
  name = "django-bulk-hooks"
3
- version = "0.1.273"
3
+ version = "0.1.274"
4
4
  description = "Hook-style hooks for Django bulk operations like bulk_create and bulk_update."
5
5
  authors = ["Konrad Beck <konrad.beck@merchantcapital.co.za>"]
6
6
  readme = "README.md"