如何在Django的model.save()中检测出一个新的模型实例 [英] How do you detect a new instance of the model in Django's model.save()

查看:151
本文介绍了如何在Django的model.save()中检测出一个新的模型实例的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

在覆盖特定模型的save()方法时,是否可以确定它是新记录还是更新?

解决方案

如果 self.pk 这是一个新的记录。


$ b $如果self.pk为None,则
self.created = datetime.today()
self.modified = datetime.today()
super(ProjectCost,self).save()

主题已经被讨论了 here


While overriding the specific model's save() method, Is it possible determine whether it's a new record or an update?

解决方案

If self.pk is None it is a new record.

def save(self):
    if self.pk is None:
        self.created = datetime.today()
    self.modified = datetime.today()
    super(ProjectCost, self).save()

This topic has been discussed also here

这篇关于如何在Django的model.save()中检测出一个新的模型实例的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆