【发布时间】:2013-12-19 20:14:26
【问题描述】:
我有这两个模型:
class Product(models.Model):
category = models.ForeignKey('Category')
name = models.CharField(max_length=60, verbose_name=u'نام کالا')
price = models.PositiveIntegerField(verbose_name=u'قیمت')
image = models.ImageField(upload_to='products_images', verbose_name=u'عکس')
#score ???
def get_score(self):
pass
class Review(models.Model):
product = models.ForeignKey('Product')
rating = models.PositiveSmallIntegerField(max_length=1, verbose_name=u'امتیاز')
我怎样才能为Product 提供一个名为 score 的派生属性,所以当我调用 product.score 时,它会调用 get_score 函数并返回从 Review 模型计算的平均分数?
例如,如果一个产品有两个评分为 4 和 2 的评论,我想product.score 返回 3。
【问题讨论】:
标签: django django-models