django-bulk-hooks 0.1.171__py3-none-any.whl → 0.1.172__py3-none-any.whl
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/queryset.py +13 -31
- {django_bulk_hooks-0.1.171.dist-info → django_bulk_hooks-0.1.172.dist-info}/METADATA +1 -1
- {django_bulk_hooks-0.1.171.dist-info → django_bulk_hooks-0.1.172.dist-info}/RECORD +5 -5
- {django_bulk_hooks-0.1.171.dist-info → django_bulk_hooks-0.1.172.dist-info}/LICENSE +0 -0
- {django_bulk_hooks-0.1.171.dist-info → django_bulk_hooks-0.1.172.dist-info}/WHEEL +0 -0
django_bulk_hooks/queryset.py
CHANGED
|
@@ -139,21 +139,17 @@ class HookQuerySet(models.QuerySet):
|
|
|
139
139
|
)
|
|
140
140
|
else:
|
|
141
141
|
# For single-table models, use Django's built-in bulk_create
|
|
142
|
-
# but we need to call it on the base manager to avoid recursion
|
|
143
142
|
# Filter out custom parameters that Django's bulk_create doesn't accept
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
update_fields=update_fields,
|
|
155
|
-
unique_fields=unique_fields,
|
|
156
|
-
)
|
|
143
|
+
django_kwargs = {
|
|
144
|
+
"batch_size": batch_size,
|
|
145
|
+
"ignore_conflicts": ignore_conflicts,
|
|
146
|
+
"update_conflicts": update_conflicts,
|
|
147
|
+
"update_fields": update_fields,
|
|
148
|
+
"unique_fields": unique_fields,
|
|
149
|
+
}
|
|
150
|
+
# Remove custom hook kwargs if present
|
|
151
|
+
django_kwargs = {k: v for k, v in django_kwargs.items() if v is not None}
|
|
152
|
+
result = super().bulk_create(objs, **django_kwargs)
|
|
157
153
|
|
|
158
154
|
# Fire AFTER_CREATE hooks
|
|
159
155
|
if not bypass_hooks:
|
|
@@ -250,23 +246,9 @@ class HookQuerySet(models.QuerySet):
|
|
|
250
246
|
|
|
251
247
|
pks = [obj.pk for obj in objs if obj.pk is not None]
|
|
252
248
|
|
|
253
|
-
#
|
|
254
|
-
#
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
base_qs = QuerySet(model_cls, using=self.db)
|
|
258
|
-
|
|
259
|
-
# Delete in batches if batch_size is specified
|
|
260
|
-
if batch_size:
|
|
261
|
-
for i in range(0, len(objs), batch_size):
|
|
262
|
-
batch = objs[i : i + batch_size]
|
|
263
|
-
batch_pks = [obj.pk for obj in batch if obj.pk is not None]
|
|
264
|
-
if batch_pks:
|
|
265
|
-
base_qs.filter(pk__in=batch_pks).delete()
|
|
266
|
-
else:
|
|
267
|
-
# Delete all at once
|
|
268
|
-
if pks:
|
|
269
|
-
base_qs.filter(pk__in=pks).delete()
|
|
249
|
+
# Call the base QuerySet implementation to avoid recursion
|
|
250
|
+
# The hooks have already been fired above, so we don't need them again
|
|
251
|
+
super().bulk_delete(objs, batch_size=batch_size)
|
|
270
252
|
|
|
271
253
|
if not bypass_hooks:
|
|
272
254
|
engine.run(model_cls, AFTER_DELETE, objs, ctx=ctx)
|
|
@@ -9,9 +9,9 @@ django_bulk_hooks/handler.py,sha256=xZt8iNdYF-ACz-MnKMY0co6scWINU5V5wC1lyDn844k,
|
|
|
9
9
|
django_bulk_hooks/manager.py,sha256=OSzW8eVzknLV1WCvZcBkWMz9x_Vjq4bJM8raVXKiZvI,5085
|
|
10
10
|
django_bulk_hooks/models.py,sha256=7fnx5xd4HWXfLVlFhhiRzR92JRWFEuxgk6aSWLEsyJg,3996
|
|
11
11
|
django_bulk_hooks/priority.py,sha256=HG_2D35nga68lBCZmSXTcplXrjFoRgZFRDOy4ROKonY,376
|
|
12
|
-
django_bulk_hooks/queryset.py,sha256=
|
|
12
|
+
django_bulk_hooks/queryset.py,sha256=yGzVFWWbg7mjJxH9Gx1hXw9Mf82H0XmMlfKZn47WMJw,23222
|
|
13
13
|
django_bulk_hooks/registry.py,sha256=-mQBizJ06nz_tajZBinViKx_uP2Tbc1tIpTEMv7lwKA,705
|
|
14
|
-
django_bulk_hooks-0.1.
|
|
15
|
-
django_bulk_hooks-0.1.
|
|
16
|
-
django_bulk_hooks-0.1.
|
|
17
|
-
django_bulk_hooks-0.1.
|
|
14
|
+
django_bulk_hooks-0.1.172.dist-info/LICENSE,sha256=dguKIcbDGeZD-vXWdLyErPUALYOvtX_fO4Zjhq481uk,1088
|
|
15
|
+
django_bulk_hooks-0.1.172.dist-info/METADATA,sha256=JQDexi4jxTyskLLwCDmRemDvHPeihDdkNZOJSohsLjk,6939
|
|
16
|
+
django_bulk_hooks-0.1.172.dist-info/WHEEL,sha256=Nq82e9rUAnEjt98J6MlVmMCZb-t9cYE2Ir1kpBmnWfs,88
|
|
17
|
+
django_bulk_hooks-0.1.172.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|