django-bulk-hooks 0.2.22__tar.gz → 0.2.24__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 (26) hide show
  1. {django_bulk_hooks-0.2.22 → django_bulk_hooks-0.2.24}/PKG-INFO +1 -1
  2. {django_bulk_hooks-0.2.22 → django_bulk_hooks-0.2.24}/django_bulk_hooks/operations/bulk_executor.py +4 -7
  3. {django_bulk_hooks-0.2.22 → django_bulk_hooks-0.2.24}/pyproject.toml +1 -1
  4. {django_bulk_hooks-0.2.22 → django_bulk_hooks-0.2.24}/LICENSE +0 -0
  5. {django_bulk_hooks-0.2.22 → django_bulk_hooks-0.2.24}/README.md +0 -0
  6. {django_bulk_hooks-0.2.22 → django_bulk_hooks-0.2.24}/django_bulk_hooks/__init__.py +0 -0
  7. {django_bulk_hooks-0.2.22 → django_bulk_hooks-0.2.24}/django_bulk_hooks/changeset.py +0 -0
  8. {django_bulk_hooks-0.2.22 → django_bulk_hooks-0.2.24}/django_bulk_hooks/conditions.py +0 -0
  9. {django_bulk_hooks-0.2.22 → django_bulk_hooks-0.2.24}/django_bulk_hooks/constants.py +0 -0
  10. {django_bulk_hooks-0.2.22 → django_bulk_hooks-0.2.24}/django_bulk_hooks/context.py +0 -0
  11. {django_bulk_hooks-0.2.22 → django_bulk_hooks-0.2.24}/django_bulk_hooks/decorators.py +0 -0
  12. {django_bulk_hooks-0.2.22 → django_bulk_hooks-0.2.24}/django_bulk_hooks/dispatcher.py +0 -0
  13. {django_bulk_hooks-0.2.22 → django_bulk_hooks-0.2.24}/django_bulk_hooks/enums.py +0 -0
  14. {django_bulk_hooks-0.2.22 → django_bulk_hooks-0.2.24}/django_bulk_hooks/factory.py +0 -0
  15. {django_bulk_hooks-0.2.22 → django_bulk_hooks-0.2.24}/django_bulk_hooks/handler.py +0 -0
  16. {django_bulk_hooks-0.2.22 → django_bulk_hooks-0.2.24}/django_bulk_hooks/helpers.py +0 -0
  17. {django_bulk_hooks-0.2.22 → django_bulk_hooks-0.2.24}/django_bulk_hooks/manager.py +0 -0
  18. {django_bulk_hooks-0.2.22 → django_bulk_hooks-0.2.24}/django_bulk_hooks/models.py +0 -0
  19. {django_bulk_hooks-0.2.22 → django_bulk_hooks-0.2.24}/django_bulk_hooks/operations/__init__.py +0 -0
  20. {django_bulk_hooks-0.2.22 → django_bulk_hooks-0.2.24}/django_bulk_hooks/operations/analyzer.py +0 -0
  21. {django_bulk_hooks-0.2.22 → django_bulk_hooks-0.2.24}/django_bulk_hooks/operations/coordinator.py +0 -0
  22. {django_bulk_hooks-0.2.22 → django_bulk_hooks-0.2.24}/django_bulk_hooks/operations/mti_handler.py +0 -0
  23. {django_bulk_hooks-0.2.22 → django_bulk_hooks-0.2.24}/django_bulk_hooks/operations/mti_plans.py +0 -0
  24. {django_bulk_hooks-0.2.22 → django_bulk_hooks-0.2.24}/django_bulk_hooks/operations/record_classifier.py +0 -0
  25. {django_bulk_hooks-0.2.22 → django_bulk_hooks-0.2.24}/django_bulk_hooks/queryset.py +0 -0
  26. {django_bulk_hooks-0.2.22 → django_bulk_hooks-0.2.24}/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.22
3
+ Version: 0.2.24
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
@@ -459,7 +459,8 @@ class BulkExecutor:
459
459
  # Use column name for FK fields
460
460
  if getattr(field, "is_relation", False) and hasattr(field, "attname"):
461
461
  db_field_name = field.attname
462
- target_field = field.target_field
462
+ # Get the field object for the database column, not the target field
463
+ target_field = field_group.model_class._meta.get_field(field.attname)
463
464
  else:
464
465
  db_field_name = field_name
465
466
  target_field = field
@@ -497,12 +498,8 @@ class BulkExecutor:
497
498
 
498
499
  logger.error(f"DEBUG FK VALUE AFTER: value={value!r}, type={type(value)}")
499
500
 
500
- # Create the Value expression - don't use output_field for None values
501
- # This prevents PostgreSQL type mismatch errors with NULL values
502
- if value is not None:
503
- value_expr = Value(value, output_field=target_field)
504
- else:
505
- value_expr = Value(None) # No output_field for None
501
+ # Create the Value expression - always use output_field to ensure correct type casting
502
+ value_expr = Value(value, output_field=target_field)
506
503
 
507
504
  when_statements.append(
508
505
  When(
@@ -1,6 +1,6 @@
1
1
  [tool.poetry]
2
2
  name = "django-bulk-hooks"
3
- version = "0.2.22"
3
+ version = "0.2.24"
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"