【发布时间】:2011-04-16 20:23:31
【问题描述】:
对不起,有些疯狂的主题。
如果模型实例是新创建的,我想覆盖 django 模型的保存方法并调用一些额外的代码。 当然我可以使用信号或检查模型是否有空的 pk 字段,如果是,则创建临时变量,然后调用代码:
Class EmailModel(models.Model):
email = models.EmailField()
def save(self, *args, **kwargs)
is_new = self.pk is None
super(EmailModel, self).save(*args, **kwargs)
# Create necessary objects
if is_new:
self.post_create()
def post_create(self):
# do job, send mails
pass
但我喜欢有一些漂亮的代码,并避免在保存方法中使用临时变量。 那么问题来了:是否可以在 super save_base 父方法调用后发现模型的实例是否是新创建的对象?
我检查了 django 资源,找不到正确的方法。
谢谢
我们有related post
【问题讨论】:
标签: django django-models