django-bulk-hooks 0.1.244__tar.gz → 0.1.246__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.244 → django_bulk_hooks-0.1.246}/PKG-INFO +1 -1
- {django_bulk_hooks-0.1.244 → django_bulk_hooks-0.1.246}/django_bulk_hooks/queryset.py +8 -1
- {django_bulk_hooks-0.1.244 → django_bulk_hooks-0.1.246}/pyproject.toml +1 -1
- {django_bulk_hooks-0.1.244 → django_bulk_hooks-0.1.246}/LICENSE +0 -0
- {django_bulk_hooks-0.1.244 → django_bulk_hooks-0.1.246}/README.md +0 -0
- {django_bulk_hooks-0.1.244 → django_bulk_hooks-0.1.246}/django_bulk_hooks/__init__.py +0 -0
- {django_bulk_hooks-0.1.244 → django_bulk_hooks-0.1.246}/django_bulk_hooks/conditions.py +0 -0
- {django_bulk_hooks-0.1.244 → django_bulk_hooks-0.1.246}/django_bulk_hooks/constants.py +0 -0
- {django_bulk_hooks-0.1.244 → django_bulk_hooks-0.1.246}/django_bulk_hooks/context.py +0 -0
- {django_bulk_hooks-0.1.244 → django_bulk_hooks-0.1.246}/django_bulk_hooks/decorators.py +0 -0
- {django_bulk_hooks-0.1.244 → django_bulk_hooks-0.1.246}/django_bulk_hooks/engine.py +0 -0
- {django_bulk_hooks-0.1.244 → django_bulk_hooks-0.1.246}/django_bulk_hooks/enums.py +0 -0
- {django_bulk_hooks-0.1.244 → django_bulk_hooks-0.1.246}/django_bulk_hooks/handler.py +0 -0
- {django_bulk_hooks-0.1.244 → django_bulk_hooks-0.1.246}/django_bulk_hooks/manager.py +0 -0
- {django_bulk_hooks-0.1.244 → django_bulk_hooks-0.1.246}/django_bulk_hooks/models.py +0 -0
- {django_bulk_hooks-0.1.244 → django_bulk_hooks-0.1.246}/django_bulk_hooks/priority.py +0 -0
- {django_bulk_hooks-0.1.244 → django_bulk_hooks-0.1.246}/django_bulk_hooks/registry.py +0 -0
|
@@ -172,6 +172,7 @@ class HookQuerySetMixin:
|
|
|
172
172
|
logger.debug("update: running hooks with Salesforce-style behavior")
|
|
173
173
|
ctx = HookContext(model_cls, bypass_hooks=False)
|
|
174
174
|
|
|
175
|
+
# Run hooks before database update for both Subquery and non-Subquery cases
|
|
175
176
|
# Run validation hooks first
|
|
176
177
|
engine.run(model_cls, VALIDATE_UPDATE, instances, originals, ctx=ctx)
|
|
177
178
|
# Then run BEFORE_UPDATE hooks
|
|
@@ -377,7 +378,11 @@ class HookQuerySetMixin:
|
|
|
377
378
|
raise
|
|
378
379
|
|
|
379
380
|
# If we used Subquery objects, refresh the instances to get computed values
|
|
380
|
-
|
|
381
|
+
# for AFTER_UPDATE hooks so HasChanged conditions work correctly
|
|
382
|
+
if has_subquery and instances and not current_bypass_hooks:
|
|
383
|
+
logger.debug(
|
|
384
|
+
"Refreshing instances with Subquery computed values before running hooks"
|
|
385
|
+
)
|
|
381
386
|
# Simple refresh of model fields without fetching related objects
|
|
382
387
|
# Subquery updates only affect the model's own fields, not relationships
|
|
383
388
|
refreshed_instances = {
|
|
@@ -397,6 +402,8 @@ class HookQuerySetMixin:
|
|
|
397
402
|
getattr(refreshed_instance, field.name),
|
|
398
403
|
)
|
|
399
404
|
|
|
405
|
+
logger.debug("Running hooks after Subquery refresh")
|
|
406
|
+
|
|
400
407
|
# Salesforce-style: Always run AFTER_UPDATE hooks unless explicitly bypassed
|
|
401
408
|
if not current_bypass_hooks:
|
|
402
409
|
logger.debug("update: running AFTER_UPDATE")
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[tool.poetry]
|
|
2
2
|
name = "django-bulk-hooks"
|
|
3
|
-
version = "0.1.
|
|
3
|
+
version = "0.1.246"
|
|
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
|