Я получил модель TrackedItem с общим отношением, связывающим любую модель, которую предполагается отслеживать.
Если я сделаю это:
t = TrackedItem(content_object=MyModel)
t.save()
t.save()
Я получаю:
IntegrityError: (1062, "Duplicate entry '1' for key 'PRIMARY'")
Действительно, первое сохранение создало запись с "1" в качестве PK. Но второе сохранение не должно вставляться, оно должно обновляться.
Как мне обновить модель, которую я не могу сохранить дважды?
С обычной моделью я могу сэкономить столько, сколько хочу.
РЕДАКТИРОВАТЬ: это может быть не связано вообще с родовыми отношениями.
У меня переопределенное сохранение, и я называю супер в нем, таким образом:
super(TrackedItem, self).save(self, *args, **kwargs)
если я сделаю это так, это сработает:
model.Model.save(self, *args, **kwargs)