Django-无法访问ManyToManyField项-对象没有属性';x';
在此self.products.price中,我无法从产品获取价格 我试图检索产品的多重价格和个性化产品的数量Django-无法访问ManyToManyField项-对象没有属性';x';,django,django-models,django-rest-framework,django-views,Django,Django Models,Django Rest Framework,Django Views,在此self.products.price中,我无法从产品获取价格 我试图检索产品的多重价格和个性化产品的数量 我试图从产品模型中获取单个值,但我不知道如何在多对多关系中获取该值。self。产品是产品的集合,因此它没有。价格,产品单独有价格,但没有集合 您可以对价格进行汇总,例如: from django.db.models import Sum class Cart(models.Model): # … objects = CartManager()
我试图从产品模型中获取单个值,但我不知道如何在多对多关系中获取该值。
self。产品
是产品
的集合,因此它没有。价格
,产品
单独有价格,但没有集合
您可以对价格进行汇总,例如:
from django.db.models import Sum
class Cart(models.Model):
# …
objects = CartManager()
def __str__(self):
return str(self.id)
@property
def get_total_item(self):
return self.quantity * self.products.aggregate(
total_price=Sum('price')
)['total_price']
从django.db.models导入总和
类购物车(models.Model):
# …
objects=CartManager()
定义(自我):
返回str(self.id)
@财产
def get_总计_项目(自身):
返回self.quantity*self.products.aggregate(
总价=总和(“价格”)
)[“总价”]
然而,在
购物车
模型上定义数量
有点奇怪。这意味着购物车有一个数量,因此您不能创建一个购物车,其中包含一个产品a和两个产品B:或者所有产品的数量都是一个,或者两个。通常,数量存储在ManyToManyField
的中,试图乘以单个产品的价格和quantity@SuryanBoopathy:但没有每个产品的每个购物车的数量,只有每个购物车的数量。
from django.db.models import Sum
class Cart(models.Model):
# …
objects = CartManager()
def __str__(self):
return str(self.id)
@property
def get_total_item(self):
return self.quantity * self.products.aggregate(
total_price=Sum('price')
)['total_price']