我有一个NewLink模型,它有3个不同的IntegerField属性,一个用于downpots,一个用于upvotes,最后一个用于两个up和down字段的和。我知道如何在每次需要'linklikessum'元素时将视图文件中的两个字段相加,但我不知道如何轻松地将其编码到模型中。显然,我更喜欢将求和硬编码为linklikesum元素的属性,这样我就不必做类似Foo = NewLink.objects.get(pk=X)
然后Foo.upvote + Foo.downvote
谁能帮我一下,这样我就不用每次都这样做了?提前谢谢
作为参考,以下是模型本身:
class NewLink(models.Model):
upvote = models.IntegerField(default=0)
downvote = models.IntegerField(default=0)
linklikessum = models.IntegerField(default=0)
url = models.URLField(null=True)
“””. . .more stuff…“””
def __unicode__(self):
return.self.url
除非这个总数是要计算的开销,否则我不会将其存储在数据库中,只是将其作为模型的属性。例如:
但是,如果计算成本很高,可以在模型的save()方法中执行此操作,例如:
^{pr2}$如果我正确地理解了这个问题,你需要创建一个叫做方法的东西。方法是模型中的函数。与其做三个整数域,不如只用两个整数域,然后做这样的事情。在
相关问题 更多 >
编程相关推荐