【发布时间】:2011-02-13 17:31:08
【问题描述】:
我得到了一个模型 TrackedItem,它具有链接到它应该跟踪的任何模型的通用关系。
如果我这样做:
t = TrackedItem(content_object=MyModel)
t.save()
t.save()
我明白了:
IntegrityError: (1062, "Duplicate entry '1' for key 'PRIMARY'")
确实,第一次保存创建了一个带有“1”的条目作为PK。但是第二次保存不应该插入,它应该更新。
我应该如何更新无法保存两次的模型?
用一个普通的模型,我想存多少就存多少。
编辑:它可能与通用关系完全无关。
我有一个被覆盖的保存,我在其中调用 super,这样:
super(TrackedItem, self).save(self, *args, **kwargs)
如果我这样做,它会起作用:
model.Model.save(self, *args, **kwargs)
【问题讨论】:
-
是什么让你认为这与泛型关系有关?您是否有任何机会在此模型上自定义
save()方法? -
你说得对,我正在使用自定义“保存”:-) 我要添加有关问题的信息?
标签: django save generic-relations