django-bulk-hooks 0.2.22__py3-none-any.whl → 0.2.24__py3-none-any.whl

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.

@@ -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
  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
@@ -13,14 +13,14 @@ django_bulk_hooks/manager.py,sha256=3mFzB0ZzHHeXWdKGObZD_H0NlskHJc8uYBF69KKdAXU,
13
13
  django_bulk_hooks/models.py,sha256=4Vvi2LiGP0g4j08a5liqBROfsO8Wd_ermBoyjKwfrPU,2512
14
14
  django_bulk_hooks/operations/__init__.py,sha256=BtJYjmRhe_sScivLsniDaZmBkm0ZLvcmzXFKL7QY2Xg,550
15
15
  django_bulk_hooks/operations/analyzer.py,sha256=8xNdsoeOCHsIIP7ztIuFHDewBR2dDSS6auOrSU8zmqE,9007
16
- django_bulk_hooks/operations/bulk_executor.py,sha256=U0E47k-69Eq0fKAiRB43DohmluKeFSWGJhOy13jRdVI,23922
16
+ django_bulk_hooks/operations/bulk_executor.py,sha256=KdjrS6gSmGhbAnNx6Vndj6d-8yFudmSfSw7T708wfsE,23814
17
17
  django_bulk_hooks/operations/coordinator.py,sha256=iSi-x3fq6_3UygWGeQY8Fq_gZWIqq_8N7WddPhVeygk,23526
18
18
  django_bulk_hooks/operations/mti_handler.py,sha256=G-pxkzIqHqXGshRGksqmsN1J3rlzePUZrSv4wm7D3cQ,19162
19
19
  django_bulk_hooks/operations/mti_plans.py,sha256=YP7LcV9Z8UqNS_x74OswF9_5swqruRTdAu6z-J_R6C0,3377
20
20
  django_bulk_hooks/operations/record_classifier.py,sha256=KzUoAhfoqzFVrOabNZAby9Akb54h-fAQZmb8O-fIx_0,6221
21
21
  django_bulk_hooks/queryset.py,sha256=rvJgQLwtSJztwc68nkJ6xwCsnbXQvkvS6_dbGGj8TFo,5886
22
22
  django_bulk_hooks/registry.py,sha256=QyeA2OqNdMAMaLjFU9UF0YGhKiPKbZkmFQpLgof7uNs,9038
23
- django_bulk_hooks-0.2.22.dist-info/LICENSE,sha256=dguKIcbDGeZD-vXWdLyErPUALYOvtX_fO4Zjhq481uk,1088
24
- django_bulk_hooks-0.2.22.dist-info/METADATA,sha256=0jXouvqa4ehgMTzDZnlAwHhPb9opqqLNZ_y80jn1Uc8,9265
25
- django_bulk_hooks-0.2.22.dist-info/WHEEL,sha256=b4K_helf-jlQoXBBETfwnf4B04YC67LOev0jo4fX5m8,88
26
- django_bulk_hooks-0.2.22.dist-info/RECORD,,
23
+ django_bulk_hooks-0.2.24.dist-info/LICENSE,sha256=dguKIcbDGeZD-vXWdLyErPUALYOvtX_fO4Zjhq481uk,1088
24
+ django_bulk_hooks-0.2.24.dist-info/METADATA,sha256=Q5g57dw136A5kfXYzZJJuycwOvEgf9qhPeltf3W6CfU,9265
25
+ django_bulk_hooks-0.2.24.dist-info/WHEEL,sha256=b4K_helf-jlQoXBBETfwnf4B04YC67LOev0jo4fX5m8,88
26
+ django_bulk_hooks-0.2.24.dist-info/RECORD,,