django-bulk-hooks 0.1.128__py3-none-any.whl → 0.1.131__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.

@@ -332,12 +332,18 @@ class HookQuerySet(models.QuerySet):
332
332
  parent_obj = self._create_parent_instance(
333
333
  obj, model_class, current_parent
334
334
  )
335
- # Use Django's internal _insert method to get PKs back
335
+ # Use Django's base manager to create the object and get PKs back
336
336
  # This bypasses hooks and the MTI exception
337
- # Get the fields to insert (all local fields except auto fields)
338
- fields = [f for f in parent_obj._meta.local_fields if not isinstance(f, AutoField)]
339
- # For Django 4.2+, _do_insert requires fields, returning_fields, and raw parameters
340
- parent_obj._do_insert(parent_obj._meta, fields, fields, False, using=self.db)
337
+ field_values = {
338
+ field.name: getattr(parent_obj, field.name)
339
+ for field in model_class._meta.local_fields
340
+ if hasattr(parent_obj, field.name) and getattr(parent_obj, field.name) is not None
341
+ }
342
+ created_obj = model_class._base_manager.using(self.db).create(**field_values)
343
+ # Update the parent_obj with the created object's PK
344
+ parent_obj.pk = created_obj.pk
345
+ parent_obj._state.adding = False
346
+ parent_obj._state.db = self.db
341
347
  parent_instances[model_class] = parent_obj
342
348
  current_parent = parent_obj
343
349
  parent_objects_map[id(obj)] = parent_instances
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: django-bulk-hooks
3
- Version: 0.1.128
3
+ Version: 0.1.131
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
@@ -9,9 +9,9 @@ django_bulk_hooks/handler.py,sha256=xZt8iNdYF-ACz-MnKMY0co6scWINU5V5wC1lyDn844k,
9
9
  django_bulk_hooks/manager.py,sha256=r54ct3S6AcqME2OsX-jPF944CEKcoSIW3qiAx_NwUaw,2801
10
10
  django_bulk_hooks/models.py,sha256=7RG7GrOdHXFjGVPV4FPRZVNMIHHW-hMCi6hn9LH_hVI,3331
11
11
  django_bulk_hooks/priority.py,sha256=HG_2D35nga68lBCZmSXTcplXrjFoRgZFRDOy4ROKonY,376
12
- django_bulk_hooks/queryset.py,sha256=M9sFQJHqkPCwRItN8r5IUq_ScAkvi6tWuHHHnaQ_pSY,17722
12
+ django_bulk_hooks/queryset.py,sha256=rOxkIV5dj72njbzZH8WJGdleaa1ukqHFFNzmDnoAZoc,17952
13
13
  django_bulk_hooks/registry.py,sha256=-mQBizJ06nz_tajZBinViKx_uP2Tbc1tIpTEMv7lwKA,705
14
- django_bulk_hooks-0.1.128.dist-info/LICENSE,sha256=dguKIcbDGeZD-vXWdLyErPUALYOvtX_fO4Zjhq481uk,1088
15
- django_bulk_hooks-0.1.128.dist-info/METADATA,sha256=wjwYLigmZ54u3ILIJyq5T6epxI9U5VZNGhUCpF2gEkk,6951
16
- django_bulk_hooks-0.1.128.dist-info/WHEEL,sha256=b4K_helf-jlQoXBBETfwnf4B04YC67LOev0jo4fX5m8,88
17
- django_bulk_hooks-0.1.128.dist-info/RECORD,,
14
+ django_bulk_hooks-0.1.131.dist-info/LICENSE,sha256=dguKIcbDGeZD-vXWdLyErPUALYOvtX_fO4Zjhq481uk,1088
15
+ django_bulk_hooks-0.1.131.dist-info/METADATA,sha256=mMjng3pfCbLJiDNqqJ3aXOBctF1aDoumVg1YxFLeuE0,6951
16
+ django_bulk_hooks-0.1.131.dist-info/WHEEL,sha256=b4K_helf-jlQoXBBETfwnf4B04YC67LOev0jo4fX5m8,88
17
+ django_bulk_hooks-0.1.131.dist-info/RECORD,,