django-bulk-hooks 0.1.271__tar.gz → 0.1.272__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.271 → django_bulk_hooks-0.1.272}/PKG-INFO +1 -1
  2. {django_bulk_hooks-0.1.271 → django_bulk_hooks-0.1.272}/django_bulk_hooks/queryset.py +9 -7
  3. {django_bulk_hooks-0.1.271 → django_bulk_hooks-0.1.272}/pyproject.toml +1 -1
  4. {django_bulk_hooks-0.1.271 → django_bulk_hooks-0.1.272}/LICENSE +0 -0
  5. {django_bulk_hooks-0.1.271 → django_bulk_hooks-0.1.272}/README.md +0 -0
  6. {django_bulk_hooks-0.1.271 → django_bulk_hooks-0.1.272}/django_bulk_hooks/__init__.py +0 -0
  7. {django_bulk_hooks-0.1.271 → django_bulk_hooks-0.1.272}/django_bulk_hooks/conditions.py +0 -0
  8. {django_bulk_hooks-0.1.271 → django_bulk_hooks-0.1.272}/django_bulk_hooks/constants.py +0 -0
  9. {django_bulk_hooks-0.1.271 → django_bulk_hooks-0.1.272}/django_bulk_hooks/context.py +0 -0
  10. {django_bulk_hooks-0.1.271 → django_bulk_hooks-0.1.272}/django_bulk_hooks/decorators.py +0 -0
  11. {django_bulk_hooks-0.1.271 → django_bulk_hooks-0.1.272}/django_bulk_hooks/engine.py +0 -0
  12. {django_bulk_hooks-0.1.271 → django_bulk_hooks-0.1.272}/django_bulk_hooks/enums.py +0 -0
  13. {django_bulk_hooks-0.1.271 → django_bulk_hooks-0.1.272}/django_bulk_hooks/handler.py +0 -0
  14. {django_bulk_hooks-0.1.271 → django_bulk_hooks-0.1.272}/django_bulk_hooks/manager.py +0 -0
  15. {django_bulk_hooks-0.1.271 → django_bulk_hooks-0.1.272}/django_bulk_hooks/models.py +0 -0
  16. {django_bulk_hooks-0.1.271 → django_bulk_hooks-0.1.272}/django_bulk_hooks/priority.py +0 -0
  17. {django_bulk_hooks-0.1.271 → django_bulk_hooks-0.1.272}/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.271
3
+ Version: 0.1.272
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
@@ -534,13 +534,14 @@ class HookQuerySetMixin:
534
534
  unique_value = {}
535
535
  query_fields = {} # Track which database field to use for each unique field
536
536
  for field_name in unique_fields:
537
- if hasattr(obj, field_name):
538
- unique_value[field_name] = getattr(obj, field_name)
539
- query_fields[field_name] = field_name
540
- elif hasattr(obj, field_name + '_id'):
537
+ # First check for _id field (more reliable for ForeignKeys)
538
+ if hasattr(obj, field_name + '_id'):
541
539
  # Handle ForeignKey fields where _id suffix is used
542
540
  unique_value[field_name] = getattr(obj, field_name + '_id')
543
541
  query_fields[field_name] = field_name + '_id' # Use _id field for query
542
+ elif hasattr(obj, field_name):
543
+ unique_value[field_name] = getattr(obj, field_name)
544
+ query_fields[field_name] = field_name
544
545
  if unique_value:
545
546
  unique_values.append((unique_value, query_fields))
546
547
 
@@ -574,11 +575,12 @@ class HookQuerySetMixin:
574
575
  for obj in objs:
575
576
  obj_unique_value = {}
576
577
  for field_name in unique_fields:
577
- if hasattr(obj, field_name):
578
- obj_unique_value[field_name] = getattr(obj, field_name)
579
- elif hasattr(obj, field_name + '_id'):
578
+ # First check for _id field (more reliable for ForeignKeys)
579
+ if hasattr(obj, field_name + '_id'):
580
580
  # Handle ForeignKey fields where _id suffix is used
581
581
  obj_unique_value[field_name] = getattr(obj, field_name + '_id')
582
+ elif hasattr(obj, field_name):
583
+ obj_unique_value[field_name] = getattr(obj, field_name)
582
584
 
583
585
  # Check if this record already exists using our bulk lookup
584
586
  if obj_unique_value:
@@ -1,6 +1,6 @@
1
1
  [tool.poetry]
2
2
  name = "django-bulk-hooks"
3
- version = "0.1.271"
3
+ version = "0.1.272"
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"