【发布时间】:2016-03-21 19:15:41
【问题描述】:
我想知道,如何在单个模型中将一个字段值传递给另一个字段值。我需要过滤 Rating 对象以获得产品的平均评分,并且我希望它与其他未来统计数据一起位于 ProductStat 中。
我尝试进行过滤,但由于一些 "Models aren't loaded yet" appregistry 错误,我无法进行迁移,但如果我注释掉 avgRating,它就可以工作。
class ProductStat(models.Model):
productID = models.ForeignKey('Product')
avgRating = models.IntegerField(
default = Rating.objects.filter(product=productID).aggregate(Avg('rating'))['rating__avg']
)
class Rating(models.Model):
user = models.ForeignKey(settings.AUTH_USER_MODEL)
product = models.ForeignKey('Product')
rating = models.IntegerField(default = 3)
所以我的问题是:如何让ProductStat.avgRating 按ProductStat.product 过滤评级?
【问题讨论】:
标签: python django django-models