django-bulk-hooks 0.1.74__tar.gz → 0.1.75__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.74 → django_bulk_hooks-0.1.75}/PKG-INFO +1 -1
  2. {django_bulk_hooks-0.1.74 → django_bulk_hooks-0.1.75}/django_bulk_hooks/manager.py +3 -7
  3. {django_bulk_hooks-0.1.74 → django_bulk_hooks-0.1.75}/django_bulk_hooks/queryset.py +1 -9
  4. {django_bulk_hooks-0.1.74 → django_bulk_hooks-0.1.75}/pyproject.toml +1 -1
  5. {django_bulk_hooks-0.1.74 → django_bulk_hooks-0.1.75}/LICENSE +0 -0
  6. {django_bulk_hooks-0.1.74 → django_bulk_hooks-0.1.75}/README.md +0 -0
  7. {django_bulk_hooks-0.1.74 → django_bulk_hooks-0.1.75}/django_bulk_hooks/__init__.py +0 -0
  8. {django_bulk_hooks-0.1.74 → django_bulk_hooks-0.1.75}/django_bulk_hooks/conditions.py +0 -0
  9. {django_bulk_hooks-0.1.74 → django_bulk_hooks-0.1.75}/django_bulk_hooks/constants.py +0 -0
  10. {django_bulk_hooks-0.1.74 → django_bulk_hooks-0.1.75}/django_bulk_hooks/context.py +0 -0
  11. {django_bulk_hooks-0.1.74 → django_bulk_hooks-0.1.75}/django_bulk_hooks/decorators.py +0 -0
  12. {django_bulk_hooks-0.1.74 → django_bulk_hooks-0.1.75}/django_bulk_hooks/engine.py +0 -0
  13. {django_bulk_hooks-0.1.74 → django_bulk_hooks-0.1.75}/django_bulk_hooks/enums.py +0 -0
  14. {django_bulk_hooks-0.1.74 → django_bulk_hooks-0.1.75}/django_bulk_hooks/handler.py +0 -0
  15. {django_bulk_hooks-0.1.74 → django_bulk_hooks-0.1.75}/django_bulk_hooks/models.py +0 -0
  16. {django_bulk_hooks-0.1.74 → django_bulk_hooks-0.1.75}/django_bulk_hooks/priority.py +0 -0
  17. {django_bulk_hooks-0.1.74 → django_bulk_hooks-0.1.75}/django_bulk_hooks/registry.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: django-bulk-hooks
3
- Version: 0.1.74
3
+ Version: 0.1.75
4
4
  Summary: Hook-style hooks for Django bulk operations like bulk_create and bulk_update.
5
5
  License: MIT
6
6
  Keywords: django,bulk,hooks
@@ -178,13 +178,9 @@ class BulkHookManager(models.Manager):
178
178
 
179
179
  pks = [obj.pk for obj in objs if obj.pk is not None]
180
180
 
181
- # Set flag to prevent recursion during the actual deletion
182
- set_bulk_operation_flag(True)
183
- try:
184
- # Use the custom manager - hooks won't fire again due to the flag
185
- model_cls.objects.filter(pk__in=pks).delete()
186
- finally:
187
- set_bulk_operation_flag(False)
181
+ # Use base manager for the actual deletion to prevent recursion
182
+ # The hooks have already been fired above, so we don't need them again
183
+ model_cls._base_manager.filter(pk__in=pks).delete()
188
184
 
189
185
  if not bypass_hooks:
190
186
  engine.run(model_cls, AFTER_DELETE, objs, ctx=ctx)
@@ -8,15 +8,7 @@ class HookQuerySet(models.QuerySet):
8
8
  objs = list(self)
9
9
  if not objs:
10
10
  return 0
11
-
12
- # If we're already in a bulk operation, use base manager to prevent recursion
13
- if is_in_bulk_operation():
14
- # Use standard Django delete method on base manager
15
- pks = [obj.pk for obj in objs if obj.pk is not None]
16
- return self.model._base_manager.filter(pk__in=pks).delete()[0]
17
- else:
18
- # Normal case - use custom manager to ensure hooks fire
19
- return self.model.objects.bulk_delete(objs)
11
+ return self.model.objects.bulk_delete(objs)
20
12
 
21
13
  @transaction.atomic
22
14
  def update(self, **kwargs):
@@ -1,6 +1,6 @@
1
1
  [tool.poetry]
2
2
  name = "django-bulk-hooks"
3
- version = "0.1.74"
3
+ version = "0.1.75"
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"