django-bulk-hooks 0.2.54__tar.gz → 0.2.55__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 (27) hide show
  1. {django_bulk_hooks-0.2.54 → django_bulk_hooks-0.2.55}/PKG-INFO +1 -1
  2. {django_bulk_hooks-0.2.54 → django_bulk_hooks-0.2.55}/django_bulk_hooks/operations/mti_handler.py +7 -0
  3. {django_bulk_hooks-0.2.54 → django_bulk_hooks-0.2.55}/pyproject.toml +1 -1
  4. {django_bulk_hooks-0.2.54 → django_bulk_hooks-0.2.55}/LICENSE +0 -0
  5. {django_bulk_hooks-0.2.54 → django_bulk_hooks-0.2.55}/README.md +0 -0
  6. {django_bulk_hooks-0.2.54 → django_bulk_hooks-0.2.55}/django_bulk_hooks/__init__.py +0 -0
  7. {django_bulk_hooks-0.2.54 → django_bulk_hooks-0.2.55}/django_bulk_hooks/changeset.py +0 -0
  8. {django_bulk_hooks-0.2.54 → django_bulk_hooks-0.2.55}/django_bulk_hooks/conditions.py +0 -0
  9. {django_bulk_hooks-0.2.54 → django_bulk_hooks-0.2.55}/django_bulk_hooks/constants.py +0 -0
  10. {django_bulk_hooks-0.2.54 → django_bulk_hooks-0.2.55}/django_bulk_hooks/context.py +0 -0
  11. {django_bulk_hooks-0.2.54 → django_bulk_hooks-0.2.55}/django_bulk_hooks/decorators.py +0 -0
  12. {django_bulk_hooks-0.2.54 → django_bulk_hooks-0.2.55}/django_bulk_hooks/dispatcher.py +0 -0
  13. {django_bulk_hooks-0.2.54 → django_bulk_hooks-0.2.55}/django_bulk_hooks/enums.py +0 -0
  14. {django_bulk_hooks-0.2.54 → django_bulk_hooks-0.2.55}/django_bulk_hooks/factory.py +0 -0
  15. {django_bulk_hooks-0.2.54 → django_bulk_hooks-0.2.55}/django_bulk_hooks/handler.py +0 -0
  16. {django_bulk_hooks-0.2.54 → django_bulk_hooks-0.2.55}/django_bulk_hooks/helpers.py +0 -0
  17. {django_bulk_hooks-0.2.54 → django_bulk_hooks-0.2.55}/django_bulk_hooks/manager.py +0 -0
  18. {django_bulk_hooks-0.2.54 → django_bulk_hooks-0.2.55}/django_bulk_hooks/models.py +0 -0
  19. {django_bulk_hooks-0.2.54 → django_bulk_hooks-0.2.55}/django_bulk_hooks/operations/__init__.py +0 -0
  20. {django_bulk_hooks-0.2.54 → django_bulk_hooks-0.2.55}/django_bulk_hooks/operations/analyzer.py +0 -0
  21. {django_bulk_hooks-0.2.54 → django_bulk_hooks-0.2.55}/django_bulk_hooks/operations/bulk_executor.py +0 -0
  22. {django_bulk_hooks-0.2.54 → django_bulk_hooks-0.2.55}/django_bulk_hooks/operations/coordinator.py +0 -0
  23. {django_bulk_hooks-0.2.54 → django_bulk_hooks-0.2.55}/django_bulk_hooks/operations/field_utils.py +0 -0
  24. {django_bulk_hooks-0.2.54 → django_bulk_hooks-0.2.55}/django_bulk_hooks/operations/mti_plans.py +0 -0
  25. {django_bulk_hooks-0.2.54 → django_bulk_hooks-0.2.55}/django_bulk_hooks/operations/record_classifier.py +0 -0
  26. {django_bulk_hooks-0.2.54 → django_bulk_hooks-0.2.55}/django_bulk_hooks/queryset.py +0 -0
  27. {django_bulk_hooks-0.2.54 → django_bulk_hooks-0.2.55}/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.2.54
3
+ Version: 0.2.55
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
@@ -361,6 +361,13 @@ class MTIHandler:
361
361
 
362
362
  # Copy field values from source using centralized field extraction
363
363
  for field in parent_model._meta.local_fields:
364
+ # Skip AutoField (primary key) - let Django's bulk_create with update_conflicts
365
+ # handle PK assignment based on unique_fields. Setting PKs manually here causes
366
+ # conflicts when parent records exist but update_conflicts isn't properly configured
367
+ # for this level, leading to IntegrityError on primary key constraint.
368
+ if isinstance(field, AutoField):
369
+ continue
370
+
364
371
  if hasattr(source_obj, field.name):
365
372
  # Use centralized field value extraction for consistent FK handling
366
373
  value = get_field_value_for_db(source_obj, field.name, source_obj.__class__)
@@ -1,6 +1,6 @@
1
1
  [tool.poetry]
2
2
  name = "django-bulk-hooks"
3
- version = "0.2.54"
3
+ version = "0.2.55"
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"