django-bulk-hooks 0.1.140__tar.gz → 0.1.142__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.140 → django_bulk_hooks-0.1.142}/PKG-INFO +1 -1
  2. {django_bulk_hooks-0.1.140 → django_bulk_hooks-0.1.142}/django_bulk_hooks/queryset.py +17 -2
  3. {django_bulk_hooks-0.1.140 → django_bulk_hooks-0.1.142}/pyproject.toml +1 -1
  4. {django_bulk_hooks-0.1.140 → django_bulk_hooks-0.1.142}/LICENSE +0 -0
  5. {django_bulk_hooks-0.1.140 → django_bulk_hooks-0.1.142}/README.md +0 -0
  6. {django_bulk_hooks-0.1.140 → django_bulk_hooks-0.1.142}/django_bulk_hooks/__init__.py +0 -0
  7. {django_bulk_hooks-0.1.140 → django_bulk_hooks-0.1.142}/django_bulk_hooks/conditions.py +0 -0
  8. {django_bulk_hooks-0.1.140 → django_bulk_hooks-0.1.142}/django_bulk_hooks/constants.py +0 -0
  9. {django_bulk_hooks-0.1.140 → django_bulk_hooks-0.1.142}/django_bulk_hooks/context.py +0 -0
  10. {django_bulk_hooks-0.1.140 → django_bulk_hooks-0.1.142}/django_bulk_hooks/decorators.py +0 -0
  11. {django_bulk_hooks-0.1.140 → django_bulk_hooks-0.1.142}/django_bulk_hooks/engine.py +0 -0
  12. {django_bulk_hooks-0.1.140 → django_bulk_hooks-0.1.142}/django_bulk_hooks/enums.py +0 -0
  13. {django_bulk_hooks-0.1.140 → django_bulk_hooks-0.1.142}/django_bulk_hooks/handler.py +0 -0
  14. {django_bulk_hooks-0.1.140 → django_bulk_hooks-0.1.142}/django_bulk_hooks/manager.py +0 -0
  15. {django_bulk_hooks-0.1.140 → django_bulk_hooks-0.1.142}/django_bulk_hooks/models.py +0 -0
  16. {django_bulk_hooks-0.1.140 → django_bulk_hooks-0.1.142}/django_bulk_hooks/priority.py +0 -0
  17. {django_bulk_hooks-0.1.140 → django_bulk_hooks-0.1.142}/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.140
3
+ Version: 0.1.142
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,11 +393,24 @@ class HookQuerySet(models.QuerySet):
393
393
 
394
394
  # Use Django's internal _batched_insert method
395
395
  opts = child_model._meta
396
- # For child models in MTI, we should only use the child's local fields
397
- # since inherited fields are stored in the parent table
396
+ # For child models in MTI, we need to include the foreign key to the parent
397
+ # but exclude the primary key since it's inherited
398
+ print(f"DEBUG: All local fields: {[f.name for f in opts.local_fields]}")
398
399
  fields = [f for f in opts.local_fields if not f.generated and not f.primary_key]
399
400
  print(f"DEBUG: Child model fields to insert: {[f.name for f in fields]}")
400
401
 
402
+ # Debug: Check what fields are actually set on the child objects
403
+ for i, child_obj in enumerate(all_child_objects[:3]): # Check first 3 objects
404
+ print(f"DEBUG: Child object {i} fields: {[f.name for f in child_model._meta.local_fields if hasattr(child_obj, f.name) and getattr(child_obj, f.name) is not None]}")
405
+ # Debug: Check the actual values
406
+ for field in child_model._meta.local_fields:
407
+ if hasattr(child_obj, field.name) and getattr(child_obj, field.name) is not None:
408
+ value = getattr(child_obj, field.name)
409
+ if hasattr(value, 'pk'):
410
+ print(f"DEBUG: Child object {i} {field.name} = {value} (PK: {value.pk})")
411
+ else:
412
+ print(f"DEBUG: Child object {i} {field.name} = {value}")
413
+
401
414
  # Debug: Check what fields are actually set on the child objects
402
415
  for i, child_obj in enumerate(all_child_objects[:3]): # Check first 3 objects
403
416
  print(f"DEBUG: Child object {i} fields: {[f.name for f in child_model._meta.local_fields if hasattr(child_obj, f.name) and getattr(child_obj, f.name) is not None]}")
@@ -494,7 +507,9 @@ class HookQuerySet(models.QuerySet):
494
507
  for parent_model, parent_instance in parent_instances.items():
495
508
  parent_link = child_model._meta.get_ancestor_link(parent_model)
496
509
  if parent_link:
510
+ # Set the foreign key to the parent instance (Django will handle the ID)
497
511
  setattr(child_obj, parent_link.name, parent_instance)
512
+ print(f"DEBUG: Set {parent_link.name} to {parent_instance} (PK: {parent_instance.pk})")
498
513
 
499
514
  # Handle auto_now_add and auto_now fields like Django does
500
515
  for field in child_model._meta.local_fields:
@@ -1,6 +1,6 @@
1
1
  [tool.poetry]
2
2
  name = "django-bulk-hooks"
3
- version = "0.1.140"
3
+ version = "0.1.142"
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"