django-bulk-hooks 0.2.19__tar.gz → 0.2.20__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.19 → django_bulk_hooks-0.2.20}/PKG-INFO +1 -1
- {django_bulk_hooks-0.2.19 → django_bulk_hooks-0.2.20}/django_bulk_hooks/operations/bulk_executor.py +18 -5
- {django_bulk_hooks-0.2.19 → django_bulk_hooks-0.2.20}/pyproject.toml +1 -1
- {django_bulk_hooks-0.2.19 → django_bulk_hooks-0.2.20}/LICENSE +0 -0
- {django_bulk_hooks-0.2.19 → django_bulk_hooks-0.2.20}/README.md +0 -0
- {django_bulk_hooks-0.2.19 → django_bulk_hooks-0.2.20}/django_bulk_hooks/__init__.py +0 -0
- {django_bulk_hooks-0.2.19 → django_bulk_hooks-0.2.20}/django_bulk_hooks/changeset.py +0 -0
- {django_bulk_hooks-0.2.19 → django_bulk_hooks-0.2.20}/django_bulk_hooks/conditions.py +0 -0
- {django_bulk_hooks-0.2.19 → django_bulk_hooks-0.2.20}/django_bulk_hooks/constants.py +0 -0
- {django_bulk_hooks-0.2.19 → django_bulk_hooks-0.2.20}/django_bulk_hooks/context.py +0 -0
- {django_bulk_hooks-0.2.19 → django_bulk_hooks-0.2.20}/django_bulk_hooks/decorators.py +0 -0
- {django_bulk_hooks-0.2.19 → django_bulk_hooks-0.2.20}/django_bulk_hooks/dispatcher.py +0 -0
- {django_bulk_hooks-0.2.19 → django_bulk_hooks-0.2.20}/django_bulk_hooks/enums.py +0 -0
- {django_bulk_hooks-0.2.19 → django_bulk_hooks-0.2.20}/django_bulk_hooks/factory.py +0 -0
- {django_bulk_hooks-0.2.19 → django_bulk_hooks-0.2.20}/django_bulk_hooks/handler.py +0 -0
- {django_bulk_hooks-0.2.19 → django_bulk_hooks-0.2.20}/django_bulk_hooks/helpers.py +0 -0
- {django_bulk_hooks-0.2.19 → django_bulk_hooks-0.2.20}/django_bulk_hooks/manager.py +0 -0
- {django_bulk_hooks-0.2.19 → django_bulk_hooks-0.2.20}/django_bulk_hooks/models.py +0 -0
- {django_bulk_hooks-0.2.19 → django_bulk_hooks-0.2.20}/django_bulk_hooks/operations/__init__.py +0 -0
- {django_bulk_hooks-0.2.19 → django_bulk_hooks-0.2.20}/django_bulk_hooks/operations/analyzer.py +0 -0
- {django_bulk_hooks-0.2.19 → django_bulk_hooks-0.2.20}/django_bulk_hooks/operations/coordinator.py +0 -0
- {django_bulk_hooks-0.2.19 → django_bulk_hooks-0.2.20}/django_bulk_hooks/operations/mti_handler.py +0 -0
- {django_bulk_hooks-0.2.19 → django_bulk_hooks-0.2.20}/django_bulk_hooks/operations/mti_plans.py +0 -0
- {django_bulk_hooks-0.2.19 → django_bulk_hooks-0.2.20}/django_bulk_hooks/operations/record_classifier.py +0 -0
- {django_bulk_hooks-0.2.19 → django_bulk_hooks-0.2.20}/django_bulk_hooks/queryset.py +0 -0
- {django_bulk_hooks-0.2.19 → django_bulk_hooks-0.2.20}/django_bulk_hooks/registry.py +0 -0
{django_bulk_hooks-0.2.19 → django_bulk_hooks-0.2.20}/django_bulk_hooks/operations/bulk_executor.py
RENAMED
|
@@ -474,15 +474,28 @@ class BulkExecutor:
|
|
|
474
474
|
|
|
475
475
|
# For FK fields, ensure we get the actual ID value, not the related object
|
|
476
476
|
if getattr(field, "is_relation", False) and hasattr(field, "attname"):
|
|
477
|
+
# ADD DEBUG LOGGING
|
|
478
|
+
logger.error(f"DEBUG FK CONVERSION: field={field_name}, db_field={db_field_name}")
|
|
479
|
+
logger.error(f"DEBUG FK VALUE BEFORE: value={value!r}, type={type(value)}")
|
|
480
|
+
logger.error(f"DEBUG FK field.attname={field.attname}, field.target_field={getattr(field, 'target_field', 'N/A')}")
|
|
481
|
+
|
|
477
482
|
# If value is a model instance, get its pk
|
|
478
483
|
if value is not None and hasattr(value, "pk"):
|
|
479
484
|
value = value.pk
|
|
485
|
+
logger.error(f"DEBUG FK: Extracted pk from model instance: {value!r}")
|
|
480
486
|
# If value is a string representation of an ID, convert to int
|
|
481
|
-
elif value is not None and isinstance(value, str)
|
|
482
|
-
|
|
483
|
-
|
|
484
|
-
|
|
485
|
-
|
|
487
|
+
elif value is not None and isinstance(value, str):
|
|
488
|
+
logger.error(f"DEBUG FK: Value is string, isdigit()={value.isdigit()}")
|
|
489
|
+
if value.isdigit():
|
|
490
|
+
value = int(value)
|
|
491
|
+
logger.error(f"DEBUG FK: Converted string to int: {value!r}")
|
|
492
|
+
elif value == "":
|
|
493
|
+
value = None
|
|
494
|
+
logger.error(f"DEBUG FK: Converted empty string to None")
|
|
495
|
+
else:
|
|
496
|
+
logger.error(f"DEBUG FK: String value doesn't pass isdigit() check! ASCII codes: {[ord(c) for c in value]}")
|
|
497
|
+
|
|
498
|
+
logger.error(f"DEBUG FK VALUE AFTER: value={value!r}, type={type(value)}")
|
|
486
499
|
|
|
487
500
|
when_statements.append(
|
|
488
501
|
When(
|
|
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.19 → django_bulk_hooks-0.2.20}/django_bulk_hooks/operations/__init__.py
RENAMED
|
File without changes
|
{django_bulk_hooks-0.2.19 → django_bulk_hooks-0.2.20}/django_bulk_hooks/operations/analyzer.py
RENAMED
|
File without changes
|
{django_bulk_hooks-0.2.19 → django_bulk_hooks-0.2.20}/django_bulk_hooks/operations/coordinator.py
RENAMED
|
File without changes
|
{django_bulk_hooks-0.2.19 → django_bulk_hooks-0.2.20}/django_bulk_hooks/operations/mti_handler.py
RENAMED
|
File without changes
|
{django_bulk_hooks-0.2.19 → django_bulk_hooks-0.2.20}/django_bulk_hooks/operations/mti_plans.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|