-
Notifications
You must be signed in to change notification settings - Fork 1
Open
Description
Hi, I experienced an exception when loading a fixture of a projet using tracking fields. Not sure if it's a bug or feature (this long-living sqlite database might have minor inconsistencies).
Traceback (most recent call last):
File "manage.py", line 27, in <module>
execute_from_command_line(sys.argv)
File "venv/lib/python3.7/site-packages/django/core/management/__init__.py", line 381, in execute_from_command_line
utility.execute()
File "venv/lib/python3.7/site-packages/django/core/management/__init__.py", line 375, in execute
self.fetch_command(subcommand).run_from_argv(self.argv)
File "venv/lib/python3.7/site-packages/django/core/management/base.py", line 323, in run_from_argv
self.execute(*args, **cmd_options)
File "venv/lib/python3.7/site-packages/django/core/management/base.py", line 364, in execute
output = self.handle(*args, **options)
File "venv/lib/python3.7/site-packages/django/core/management/commands/loaddata.py", line 72, in handle
self.loaddata(fixture_labels)
File "venv/lib/python3.7/site-packages/django/core/management/commands/loaddata.py", line 114, in loaddata
self.load_label(fixture_label)
File "venv/lib/python3.7/site-packages/django/core/management/commands/loaddata.py", line 181, in load_label
obj.save(using=self.using)
File "venv/lib/python3.7/site-packages/django/core/serializers/base.py", line 226, in save
getattr(self.object, accessor_name).set(object_list)
File "venv/lib/python3.7/site-packages/django/db/models/fields/related_descriptors.py", line 997, in set
self.add(*new_objs, through_defaults=through_defaults)
File "venv/lib/python3.7/site-packages/django/db/models/fields/related_descriptors.py", line 938, in add
through_defaults=through_defaults,
File "venv/lib/python3.7/site-packages/django/db/models/fields/related_descriptors.py", line 1076, in _add_items
model=self.model, pk_set=new_ids, using=db,
File "venv/lib/python3.7/site-packages/django/dispatch/dispatcher.py", line 175, in send
for receiver in self._live_receivers(sender)
File "venv/lib/python3.7/site-packages/django/dispatch/dispatcher.py", line 175, in <listcomp>
for receiver in self._live_receivers(sender)
File "venv/lib/python3.7/site-packages/tracking_fields/tracking.py", line 405, in tracking_m2m
objects = [model.objects.get(pk=pk) for pk in pk_set]
File "venv/lib/python3.7/site-packages/tracking_fields/tracking.py", line 405, in <listcomp>
objects = [model.objects.get(pk=pk) for pk in pk_set]
File "venv/lib/python3.7/site-packages/django/db/models/manager.py", line 82, in manager_method
return getattr(self.get_queryset(), name)(*args, **kwargs)
File "venv/lib/python3.7/site-packages/django/db/models/query.py", line 408, in get
Munging tracking.py the following way made it passing:
# Get the model of the object being tracked
tracked_model = instance._meta.model
objects = []
try:
if pk_set is not None:
objects = [model.objects.get(pk=pk) for pk in pk_set]
_create_tracked_event_m2m(
tracked_model, instance, sender, objects, action_event[action]
)
except:
print(sender, instance, action, reverse, model, pk_set, using)(actually tracking data is helpfull but in this case I don't care if they lack some buggy details)
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels