django-bulk-hooks 0.2.28__py3-none-any.whl → 0.2.30__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.
- django_bulk_hooks/operations/bulk_executor.py +11 -3
- {django_bulk_hooks-0.2.28.dist-info → django_bulk_hooks-0.2.30.dist-info}/METADATA +1 -1
- {django_bulk_hooks-0.2.28.dist-info → django_bulk_hooks-0.2.30.dist-info}/RECORD +5 -5
- {django_bulk_hooks-0.2.28.dist-info → django_bulk_hooks-0.2.30.dist-info}/LICENSE +0 -0
- {django_bulk_hooks-0.2.28.dist-info → django_bulk_hooks-0.2.30.dist-info}/WHEEL +0 -0
|
@@ -7,7 +7,7 @@ This service coordinates bulk database operations with validation and MTI handli
|
|
|
7
7
|
import logging
|
|
8
8
|
|
|
9
9
|
from django.db import transaction
|
|
10
|
-
from django.db.models import AutoField
|
|
10
|
+
from django.db.models import AutoField, ForeignKey
|
|
11
11
|
|
|
12
12
|
logger = logging.getLogger(__name__)
|
|
13
13
|
|
|
@@ -462,11 +462,19 @@ class BulkExecutor:
|
|
|
462
462
|
if obj_pk is None:
|
|
463
463
|
continue
|
|
464
464
|
|
|
465
|
-
value
|
|
465
|
+
# Get the field value - handle ForeignKey fields specially
|
|
466
|
+
if isinstance(field, ForeignKey):
|
|
467
|
+
value = getattr(obj, field.attname, None)
|
|
468
|
+
# For ForeignKey fields, use the target field for proper type casting
|
|
469
|
+
output_field = field.target_field
|
|
470
|
+
else:
|
|
471
|
+
value = getattr(obj, field_name)
|
|
472
|
+
output_field = field
|
|
473
|
+
|
|
466
474
|
when_statements.append(
|
|
467
475
|
When(
|
|
468
476
|
**{field_group.filter_field: pk},
|
|
469
|
-
then=Value(value, output_field=
|
|
477
|
+
then=Value(value, output_field=output_field),
|
|
470
478
|
),
|
|
471
479
|
)
|
|
472
480
|
|
|
@@ -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=
|
|
16
|
+
django_bulk_hooks/operations/bulk_executor.py,sha256=D7eteG0116fvI-waiP0PhWl2kBd_b3Iv--p_nWO1l2Y,21597
|
|
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.
|
|
24
|
-
django_bulk_hooks-0.2.
|
|
25
|
-
django_bulk_hooks-0.2.
|
|
26
|
-
django_bulk_hooks-0.2.
|
|
23
|
+
django_bulk_hooks-0.2.30.dist-info/LICENSE,sha256=dguKIcbDGeZD-vXWdLyErPUALYOvtX_fO4Zjhq481uk,1088
|
|
24
|
+
django_bulk_hooks-0.2.30.dist-info/METADATA,sha256=A-StNulrNdNpSvtR4NJ3ERvr56mKsKiPeUHN9_FTKj8,9265
|
|
25
|
+
django_bulk_hooks-0.2.30.dist-info/WHEEL,sha256=b4K_helf-jlQoXBBETfwnf4B04YC67LOev0jo4fX5m8,88
|
|
26
|
+
django_bulk_hooks-0.2.30.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|