django-bulk-hooks 0.1.261__tar.gz → 0.1.262__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.1.261 → django_bulk_hooks-0.1.262}/PKG-INFO +1 -1
- {django_bulk_hooks-0.1.261 → django_bulk_hooks-0.1.262}/django_bulk_hooks/queryset.py +5 -4
- {django_bulk_hooks-0.1.261 → django_bulk_hooks-0.1.262}/pyproject.toml +1 -1
- {django_bulk_hooks-0.1.261 → django_bulk_hooks-0.1.262}/LICENSE +0 -0
- {django_bulk_hooks-0.1.261 → django_bulk_hooks-0.1.262}/README.md +0 -0
- {django_bulk_hooks-0.1.261 → django_bulk_hooks-0.1.262}/django_bulk_hooks/__init__.py +0 -0
- {django_bulk_hooks-0.1.261 → django_bulk_hooks-0.1.262}/django_bulk_hooks/conditions.py +0 -0
- {django_bulk_hooks-0.1.261 → django_bulk_hooks-0.1.262}/django_bulk_hooks/constants.py +0 -0
- {django_bulk_hooks-0.1.261 → django_bulk_hooks-0.1.262}/django_bulk_hooks/context.py +0 -0
- {django_bulk_hooks-0.1.261 → django_bulk_hooks-0.1.262}/django_bulk_hooks/decorators.py +0 -0
- {django_bulk_hooks-0.1.261 → django_bulk_hooks-0.1.262}/django_bulk_hooks/engine.py +0 -0
- {django_bulk_hooks-0.1.261 → django_bulk_hooks-0.1.262}/django_bulk_hooks/enums.py +0 -0
- {django_bulk_hooks-0.1.261 → django_bulk_hooks-0.1.262}/django_bulk_hooks/handler.py +0 -0
- {django_bulk_hooks-0.1.261 → django_bulk_hooks-0.1.262}/django_bulk_hooks/manager.py +0 -0
- {django_bulk_hooks-0.1.261 → django_bulk_hooks-0.1.262}/django_bulk_hooks/models.py +0 -0
- {django_bulk_hooks-0.1.261 → django_bulk_hooks-0.1.262}/django_bulk_hooks/priority.py +0 -0
- {django_bulk_hooks-0.1.261 → django_bulk_hooks-0.1.262}/django_bulk_hooks/registry.py +0 -0
|
@@ -889,6 +889,7 @@ class HookQuerySetMixin:
|
|
|
889
889
|
# Handle auto_now fields like Django's update_or_create does
|
|
890
890
|
fields_set = set(fields)
|
|
891
891
|
pk_fields = model_cls._meta.pk_fields
|
|
892
|
+
pk_field_names = [f.name for f in pk_fields]
|
|
892
893
|
auto_now_fields = []
|
|
893
894
|
custom_update_fields = [] # Fields that need pre_save() called on update
|
|
894
895
|
logger.debug(f"Checking for auto_now and custom update fields in {model_cls.__name__}")
|
|
@@ -898,7 +899,7 @@ class HookQuerySetMixin:
|
|
|
898
899
|
if hasattr(field, "auto_now") and field.auto_now:
|
|
899
900
|
logger.debug(f"Found auto_now field: {field.name}")
|
|
900
901
|
print(f"DEBUG: Found auto_now field: {field.name}")
|
|
901
|
-
if field.name not in fields_set and field.name not in
|
|
902
|
+
if field.name not in fields_set and field.name not in pk_field_names:
|
|
902
903
|
fields_set.add(field.name)
|
|
903
904
|
if field.name != field.attname:
|
|
904
905
|
fields_set.add(field.attname)
|
|
@@ -913,7 +914,7 @@ class HookQuerySetMixin:
|
|
|
913
914
|
# Check for custom fields that might need pre_save() on update (like CurrentUserField)
|
|
914
915
|
elif hasattr(field, 'pre_save'):
|
|
915
916
|
# Only call pre_save on fields that aren't already being updated
|
|
916
|
-
if field.name not in fields_set and field.name not in
|
|
917
|
+
if field.name not in fields_set and field.name not in pk_field_names:
|
|
917
918
|
custom_update_fields.append(field)
|
|
918
919
|
logger.debug(f"Found custom field with pre_save: {field.name}")
|
|
919
920
|
print(f"DEBUG: Found custom field with pre_save: {field.name}")
|
|
@@ -945,8 +946,8 @@ class HookQuerySetMixin:
|
|
|
945
946
|
# Only update the field if pre_save returned a new value
|
|
946
947
|
if new_value is not None:
|
|
947
948
|
setattr(obj, field.name, new_value)
|
|
948
|
-
# Add this field to the update fields if it's not already there
|
|
949
|
-
if field.name not in fields_set:
|
|
949
|
+
# Add this field to the update fields if it's not already there and not a primary key
|
|
950
|
+
if field.name not in fields_set and field.name not in pk_field_names:
|
|
950
951
|
fields_set.add(field.name)
|
|
951
952
|
fields.append(field.name)
|
|
952
953
|
logger.debug(f"Custom field {field.name} updated via pre_save() for object {obj.pk}")
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[tool.poetry]
|
|
2
2
|
name = "django-bulk-hooks"
|
|
3
|
-
version = "0.1.
|
|
3
|
+
version = "0.1.262"
|
|
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"
|
|
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
|