django-bulk-hooks 0.1.136__tar.gz → 0.1.137__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.136 → django_bulk_hooks-0.1.137}/PKG-INFO +1 -1
  2. {django_bulk_hooks-0.1.136 → django_bulk_hooks-0.1.137}/django_bulk_hooks/queryset.py +5 -2
  3. {django_bulk_hooks-0.1.136 → django_bulk_hooks-0.1.137}/pyproject.toml +1 -1
  4. {django_bulk_hooks-0.1.136 → django_bulk_hooks-0.1.137}/LICENSE +0 -0
  5. {django_bulk_hooks-0.1.136 → django_bulk_hooks-0.1.137}/README.md +0 -0
  6. {django_bulk_hooks-0.1.136 → django_bulk_hooks-0.1.137}/django_bulk_hooks/__init__.py +0 -0
  7. {django_bulk_hooks-0.1.136 → django_bulk_hooks-0.1.137}/django_bulk_hooks/conditions.py +0 -0
  8. {django_bulk_hooks-0.1.136 → django_bulk_hooks-0.1.137}/django_bulk_hooks/constants.py +0 -0
  9. {django_bulk_hooks-0.1.136 → django_bulk_hooks-0.1.137}/django_bulk_hooks/context.py +0 -0
  10. {django_bulk_hooks-0.1.136 → django_bulk_hooks-0.1.137}/django_bulk_hooks/decorators.py +0 -0
  11. {django_bulk_hooks-0.1.136 → django_bulk_hooks-0.1.137}/django_bulk_hooks/engine.py +0 -0
  12. {django_bulk_hooks-0.1.136 → django_bulk_hooks-0.1.137}/django_bulk_hooks/enums.py +0 -0
  13. {django_bulk_hooks-0.1.136 → django_bulk_hooks-0.1.137}/django_bulk_hooks/handler.py +0 -0
  14. {django_bulk_hooks-0.1.136 → django_bulk_hooks-0.1.137}/django_bulk_hooks/manager.py +0 -0
  15. {django_bulk_hooks-0.1.136 → django_bulk_hooks-0.1.137}/django_bulk_hooks/models.py +0 -0
  16. {django_bulk_hooks-0.1.136 → django_bulk_hooks-0.1.137}/django_bulk_hooks/priority.py +0 -0
  17. {django_bulk_hooks-0.1.136 → django_bulk_hooks-0.1.137}/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.136
3
+ Version: 0.1.137
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
@@ -393,7 +393,9 @@ class HookQuerySet(models.QuerySet):
393
393
 
394
394
  # Use Django's internal _batched_insert method
395
395
  opts = child_model._meta
396
- fields = [f for f in opts.concrete_fields if not f.generated]
396
+ # For child models in MTI, we need to exclude the parent's primary key
397
+ # since it's inherited and not stored in the child table
398
+ fields = [f for f in opts.concrete_fields if not f.generated and not f.primary_key]
397
399
 
398
400
  with transaction.atomic(using=self.db, savepoint=False):
399
401
  if objs_with_pk:
@@ -413,7 +415,8 @@ class HookQuerySet(models.QuerySet):
413
415
 
414
416
  if objs_without_pk:
415
417
  print(f"DEBUG: Inserting {len(objs_without_pk)} objects without PK")
416
- fields = [f for f in fields if not isinstance(f, AutoField)]
418
+ # For objects without PK, we still need to exclude primary key fields
419
+ fields = [f for f in fields if not isinstance(f, AutoField) and not f.primary_key]
417
420
  returned_columns = base_qs._batched_insert(
418
421
  objs_without_pk,
419
422
  fields,
@@ -1,6 +1,6 @@
1
1
  [tool.poetry]
2
2
  name = "django-bulk-hooks"
3
- version = "0.1.136"
3
+ version = "0.1.137"
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"