【发布时间】:2016-06-28 20:57:55
【问题描述】:
No, I don't want a property。 I really don't。我要的就是我问的。
由于子类化要求,我正在寻找一种方法来从一组其他两个字段中生成一个字段并将此计算存储在数据库中。不是 Python 中的属性,不是 SQL 计算,是在保存时更新并按原样存储在数据库中的预计算字段。
例如:
class Help(models.Model):
title = models.TextField()
body = models.TextField()
class SoftwareHelp(Help):
about_software = models.ForeignKey('Software')
无论用户在title 字段中输入什么内容,我都希望它在单击保存后显示“帮助”。实际上,代码有更多的字段,但这说明了原理。
我知道可以通过覆盖 save() 方法来做到这一点,但想确保我没有两次保存到数据库中,并想知道是否有其他更好的方法。
【问题讨论】:
-
你最后一句话是什么意思?为什么会覆盖
save方法两次保存到数据库? -
我看到的一个答案有一个
save方法,由于某种原因两次调用super.save。 -
你还记得这个链接吗?
-
它是序言中的两个之一-您可能看不到已删除的答案-stackoverflow.com/a/17682852/764357
-
第一个
save调用是不必要的。也许这就是帖子被删除的原因之一:)
标签: python django django-models