У меня есть эти две модели:производный атрибут в модели Django
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
называется счет, так что, когда я называю product.score
вызывает функцию get_score и возвращает средний балл, рассчитанный из Review
модель?
Например, если продукт имеет два обзора с оценкой 4 и 2, я хочу product.score
возвращается 3.
Благодарим вас за короткий и хорошо описанный ответ. Я соглашусь, что в качестве ответа –