我想知道,如何在单个模型中将一个字段值传递给另一个字段值。我需要过滤Rating
对象以获得产品的平均评级,并且我希望它与其他未来的统计数据在ProductStat
中。你知道吗
我的过滤尝试,由于一些"Models aren't loaded yet"
的程序错误,它不允许我进行迁移,但是如果我注释掉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.product
过滤评级?你知道吗
当您的模型文件被解释时,
Rating
模型不存在。另外,您不应该使用fuctions作为默认值,而是使用callable。你知道吗This answer可以帮上忙。您也可以在Django的页面中检查docs。你知道吗
如果需要使用currennt
ProductStat
对象中的值,可以使用signal。在你的型号.py:相关问题 更多 >
编程相关推荐