django-bulk-hooks 0.1.210__tar.gz → 0.1.211__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.

Files changed (17) hide show
  1. {django_bulk_hooks-0.1.210 → django_bulk_hooks-0.1.211}/PKG-INFO +1 -1
  2. {django_bulk_hooks-0.1.210 → django_bulk_hooks-0.1.211}/django_bulk_hooks/engine.py +6 -0
  3. {django_bulk_hooks-0.1.210 → django_bulk_hooks-0.1.211}/django_bulk_hooks/queryset.py +2 -5
  4. {django_bulk_hooks-0.1.210 → django_bulk_hooks-0.1.211}/pyproject.toml +1 -1
  5. {django_bulk_hooks-0.1.210 → django_bulk_hooks-0.1.211}/LICENSE +0 -0
  6. {django_bulk_hooks-0.1.210 → django_bulk_hooks-0.1.211}/README.md +0 -0
  7. {django_bulk_hooks-0.1.210 → django_bulk_hooks-0.1.211}/django_bulk_hooks/__init__.py +0 -0
  8. {django_bulk_hooks-0.1.210 → django_bulk_hooks-0.1.211}/django_bulk_hooks/conditions.py +0 -0
  9. {django_bulk_hooks-0.1.210 → django_bulk_hooks-0.1.211}/django_bulk_hooks/constants.py +0 -0
  10. {django_bulk_hooks-0.1.210 → django_bulk_hooks-0.1.211}/django_bulk_hooks/context.py +0 -0
  11. {django_bulk_hooks-0.1.210 → django_bulk_hooks-0.1.211}/django_bulk_hooks/decorators.py +0 -0
  12. {django_bulk_hooks-0.1.210 → django_bulk_hooks-0.1.211}/django_bulk_hooks/enums.py +0 -0
  13. {django_bulk_hooks-0.1.210 → django_bulk_hooks-0.1.211}/django_bulk_hooks/handler.py +0 -0
  14. {django_bulk_hooks-0.1.210 → django_bulk_hooks-0.1.211}/django_bulk_hooks/manager.py +0 -0
  15. {django_bulk_hooks-0.1.210 → django_bulk_hooks-0.1.211}/django_bulk_hooks/models.py +0 -0
  16. {django_bulk_hooks-0.1.210 → django_bulk_hooks-0.1.211}/django_bulk_hooks/priority.py +0 -0
  17. {django_bulk_hooks-0.1.210 → django_bulk_hooks-0.1.211}/django_bulk_hooks/registry.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: django-bulk-hooks
3
- Version: 0.1.210
3
+ Version: 0.1.211
4
4
  Summary: Hook-style hooks for Django bulk operations like bulk_create and bulk_update.
5
5
  Home-page: https://github.com/AugendLimited/django-bulk-hooks
6
6
  License: MIT
@@ -20,9 +20,15 @@ def run(model_cls, event, new_records, old_records=None, ctx=None):
20
20
  if not hooks:
21
21
  return
22
22
 
23
+ import traceback
24
+
25
+ stack = traceback.format_stack()
23
26
  print(
24
27
  f"DEBUG: engine.run called for {model_cls.__name__}.{event} with {len(new_records)} records"
25
28
  )
29
+ print(f"DEBUG: Call stack (last 3 frames):")
30
+ for line in stack[-4:-1]: # Show last 3 frames before this one
31
+ print(f" {line.strip()}")
26
32
 
27
33
  # For BEFORE_* events, run model.clean() first for validation
28
34
  if event.startswith("before_"):
@@ -209,9 +209,6 @@ class HookQuerySetMixin:
209
209
  """
210
210
  Bulk update objects in the database with MTI support.
211
211
  """
212
- print(
213
- f"DEBUG: bulk_update called for {self.model.__name__} with bypass_hooks={bypass_hooks}"
214
- )
215
212
  model_cls = self.model
216
213
 
217
214
  if not objs:
@@ -248,6 +245,8 @@ class HookQuerySetMixin:
248
245
 
249
246
  # Then run business logic hooks
250
247
  engine.run(model_cls, BEFORE_UPDATE, objs, originals, ctx=ctx)
248
+ else:
249
+ print(f"DEBUG: bypass_hooks=True, skipping hooks for {len(objs)} objects")
251
250
 
252
251
  # Detect modified fields during hooks
253
252
  modified_fields = self._detect_modified_fields(objs, originals)
@@ -255,8 +254,6 @@ class HookQuerySetMixin:
255
254
  fields_set = set(fields)
256
255
  fields_set.update(modified_fields)
257
256
  fields = list(fields_set)
258
- else:
259
- print(f"DEBUG: bypass_hooks=True, skipping hooks for {len(objs)} objects")
260
257
 
261
258
  # Handle auto_now fields like Django's update_or_create does
262
259
  fields_set = set(fields)
@@ -1,6 +1,6 @@
1
1
  [tool.poetry]
2
2
  name = "django-bulk-hooks"
3
- version = "0.1.210"
3
+ version = "0.1.211"
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"