【发布时间】:2019-07-21 04:35:33
【问题描述】:
我的简化模型:
class Product(models.Model):
name = models.CharField()
class Price(models.Model):
product = models.OneToOneField('Product', primary_key=True)
value = models.DecimalField()
class Cart(models.Model):
product = models.ForeignKey('Product')
qnt = models.IntegerField()
我需要将两个字段相乘以存储在另一个字段中,即 sum 。为什么Cart.objects.select_related('product__price').annotate(sum=F('product__price__value') * F('qnt')) 什么都不返回?
将F('') 替换为F('value') 返回错误
无法将关键字“值”解析为字段。选择是:cart_id, id、product、product_id、qnt
【问题讨论】:
-
我在模型中使用了 @property 和 sum,并解决了它。但我想知道使用注释的相同解决方案。
标签: django annotate django-select-related