Django-无法访问ManyToManyField项-对象没有属性';x';

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.products.price中,我无法从产品获取价格

我试图检索产品的多重价格和个性化产品的数量


我试图从产品模型中获取单个值,但我不知道如何在多对多关系中获取该值。

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']