django-bulk-hooks 0.2.31__tar.gz → 0.2.34__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.
- {django_bulk_hooks-0.2.31 → django_bulk_hooks-0.2.34}/PKG-INFO +1 -1
- {django_bulk_hooks-0.2.31 → django_bulk_hooks-0.2.34}/django_bulk_hooks/operations/bulk_executor.py +36 -2
- {django_bulk_hooks-0.2.31 → django_bulk_hooks-0.2.34}/pyproject.toml +1 -1
- {django_bulk_hooks-0.2.31 → django_bulk_hooks-0.2.34}/LICENSE +0 -0
- {django_bulk_hooks-0.2.31 → django_bulk_hooks-0.2.34}/README.md +0 -0
- {django_bulk_hooks-0.2.31 → django_bulk_hooks-0.2.34}/django_bulk_hooks/__init__.py +0 -0
- {django_bulk_hooks-0.2.31 → django_bulk_hooks-0.2.34}/django_bulk_hooks/changeset.py +0 -0
- {django_bulk_hooks-0.2.31 → django_bulk_hooks-0.2.34}/django_bulk_hooks/conditions.py +0 -0
- {django_bulk_hooks-0.2.31 → django_bulk_hooks-0.2.34}/django_bulk_hooks/constants.py +0 -0
- {django_bulk_hooks-0.2.31 → django_bulk_hooks-0.2.34}/django_bulk_hooks/context.py +0 -0
- {django_bulk_hooks-0.2.31 → django_bulk_hooks-0.2.34}/django_bulk_hooks/decorators.py +0 -0
- {django_bulk_hooks-0.2.31 → django_bulk_hooks-0.2.34}/django_bulk_hooks/dispatcher.py +0 -0
- {django_bulk_hooks-0.2.31 → django_bulk_hooks-0.2.34}/django_bulk_hooks/enums.py +0 -0
- {django_bulk_hooks-0.2.31 → django_bulk_hooks-0.2.34}/django_bulk_hooks/factory.py +0 -0
- {django_bulk_hooks-0.2.31 → django_bulk_hooks-0.2.34}/django_bulk_hooks/handler.py +0 -0
- {django_bulk_hooks-0.2.31 → django_bulk_hooks-0.2.34}/django_bulk_hooks/helpers.py +0 -0
- {django_bulk_hooks-0.2.31 → django_bulk_hooks-0.2.34}/django_bulk_hooks/manager.py +0 -0
- {django_bulk_hooks-0.2.31 → django_bulk_hooks-0.2.34}/django_bulk_hooks/models.py +0 -0
- {django_bulk_hooks-0.2.31 → django_bulk_hooks-0.2.34}/django_bulk_hooks/operations/__init__.py +0 -0
- {django_bulk_hooks-0.2.31 → django_bulk_hooks-0.2.34}/django_bulk_hooks/operations/analyzer.py +0 -0
- {django_bulk_hooks-0.2.31 → django_bulk_hooks-0.2.34}/django_bulk_hooks/operations/coordinator.py +0 -0
- {django_bulk_hooks-0.2.31 → django_bulk_hooks-0.2.34}/django_bulk_hooks/operations/mti_handler.py +0 -0
- {django_bulk_hooks-0.2.31 → django_bulk_hooks-0.2.34}/django_bulk_hooks/operations/mti_plans.py +0 -0
- {django_bulk_hooks-0.2.31 → django_bulk_hooks-0.2.34}/django_bulk_hooks/operations/record_classifier.py +0 -0
- {django_bulk_hooks-0.2.31 → django_bulk_hooks-0.2.34}/django_bulk_hooks/queryset.py +0 -0
- {django_bulk_hooks-0.2.31 → django_bulk_hooks-0.2.34}/django_bulk_hooks/registry.py +0 -0
{django_bulk_hooks-0.2.31 → django_bulk_hooks-0.2.34}/django_bulk_hooks/operations/bulk_executor.py
RENAMED
|
@@ -446,7 +446,26 @@ class BulkExecutor:
|
|
|
446
446
|
|
|
447
447
|
# Determine the correct output field for type casting
|
|
448
448
|
# For ForeignKey fields, use the target field to ensure correct SQL types
|
|
449
|
-
|
|
449
|
+
is_fk = isinstance(field, ForeignKey)
|
|
450
|
+
case_output_field = field.target_field if is_fk else field
|
|
451
|
+
|
|
452
|
+
# DEBUG: Log field information
|
|
453
|
+
logger.info(
|
|
454
|
+
f"DEBUG MTI Update - Field: {field_name}, "
|
|
455
|
+
f"Model: {field_group.model_class.__name__}, "
|
|
456
|
+
f"IsForeignKey: {is_fk}, "
|
|
457
|
+
f"FieldType: {type(field).__name__}, "
|
|
458
|
+
f"OutputFieldType: {type(case_output_field).__name__}, "
|
|
459
|
+
f"FieldClass: {field.__class__.__module__}.{field.__class__.__name__}"
|
|
460
|
+
)
|
|
461
|
+
|
|
462
|
+
if is_fk:
|
|
463
|
+
logger.info(
|
|
464
|
+
f"DEBUG FK Details - Field: {field_name}, "
|
|
465
|
+
f"attname: {field.attname}, "
|
|
466
|
+
f"target_field: {field.target_field}, "
|
|
467
|
+
f"target_field_type: {type(field.target_field).__name__}"
|
|
468
|
+
)
|
|
450
469
|
|
|
451
470
|
for pk, obj in zip(root_pks, plan.objects):
|
|
452
471
|
obj_pk = getattr(obj, "pk", None) or getattr(obj, "id", None)
|
|
@@ -454,7 +473,17 @@ class BulkExecutor:
|
|
|
454
473
|
continue
|
|
455
474
|
|
|
456
475
|
# Get the field value - handle ForeignKey fields specially
|
|
457
|
-
value = getattr(obj, field.attname, None) if
|
|
476
|
+
value = getattr(obj, field.attname, None) if is_fk else getattr(obj, field_name)
|
|
477
|
+
|
|
478
|
+
# DEBUG: Log value information for first object
|
|
479
|
+
if pk == root_pks[0]:
|
|
480
|
+
logger.info(
|
|
481
|
+
f"DEBUG Value - Field: {field_name}, "
|
|
482
|
+
f"PK: {pk}, "
|
|
483
|
+
f"Value: {value}, "
|
|
484
|
+
f"ValueType: {type(value).__name__}, "
|
|
485
|
+
f"ValueRepr: {repr(value)}"
|
|
486
|
+
)
|
|
458
487
|
|
|
459
488
|
when_statements.append(
|
|
460
489
|
When(
|
|
@@ -465,6 +494,11 @@ class BulkExecutor:
|
|
|
465
494
|
|
|
466
495
|
if when_statements:
|
|
467
496
|
case_statements[field_name] = Case(*when_statements, output_field=case_output_field)
|
|
497
|
+
logger.info(
|
|
498
|
+
f"DEBUG Case Statement - Field: {field_name}, "
|
|
499
|
+
f"CaseOutputField: {type(case_output_field).__name__}, "
|
|
500
|
+
f"NumWhenStatements: {len(when_statements)}"
|
|
501
|
+
)
|
|
468
502
|
|
|
469
503
|
# Execute bulk update
|
|
470
504
|
if case_statements:
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{django_bulk_hooks-0.2.31 → django_bulk_hooks-0.2.34}/django_bulk_hooks/operations/__init__.py
RENAMED
|
File without changes
|
{django_bulk_hooks-0.2.31 → django_bulk_hooks-0.2.34}/django_bulk_hooks/operations/analyzer.py
RENAMED
|
File without changes
|
{django_bulk_hooks-0.2.31 → django_bulk_hooks-0.2.34}/django_bulk_hooks/operations/coordinator.py
RENAMED
|
File without changes
|
{django_bulk_hooks-0.2.31 → django_bulk_hooks-0.2.34}/django_bulk_hooks/operations/mti_handler.py
RENAMED
|
File without changes
|
{django_bulk_hooks-0.2.31 → django_bulk_hooks-0.2.34}/django_bulk_hooks/operations/mti_plans.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|