在覆盖特定模型的save()方法时,是否可以确定它是新记录还是更新?
答案 0 :(得分:53)
如果self.pk
为None
则为新记录。
def save(self):
if self.pk is None:
self.created = datetime.today()
self.modified = datetime.today()
super(ProjectCost, self).save()
此主题也已经讨论过here
答案 1 :(得分:3)
现代Django的首选解决方案是检查self._state.adding
不幸的是,目前尚无此文件,但是有一个未完成的任务 https://code.djangoproject.com/ticket/31502