Я пытаюсь получить общую цену для ManyToManyField. Я получаю каждую индивидуальную цену на price_for_each_item, а затем я хочу, чтобы в общей сложности, однако многие предметы были в том, чтобы добавить к «TOTAL_PRICE»Получение общей стоимости для ManyToManyField в Django
class PurchaseOrder(models.Model):
number_of_products = models.ManyToManyField('Product', null =True)
total_price = models.FloatField(verbose_name='Total Price')
class Product(models.Model):
products = models.CharField(max_length=256, null =True)
price_for_each_item = models.FloatField(verbose_name = "Price")
def __unicode__(self):
return self.products
Например, если бы я сделал заказ на Macbook Pro = $ 500, Asus Computer = $ 200, а mousepad = 50 долларов. Я бы хотел, чтобы общее количество этого было в total_price = $ 750
EDIT: Я пробовал делать это, но безрезультатно. Кто-нибудь знает, что мне нужно сделать, чтобы исправить это? Когда я пытаюсь отобразить это говорит не поплавок объект вызываемого
def get_total_price(self):
return ([p.price_for_each_item for p in self.total_price()])
Вы уверены, что ваша структура модели имеет смысл? Если продукт состоит из нескольких элементов, вы должны создать дополнительную модель «Предмет» и иметь поле «Много-ко-многим» в Product, ссылаясь на него? Или если у продукта действительно есть только одна цена, вместо того, чтобы называть поле «price_for_each_item», вы должны просто назвать его «цена». По сути, это очень запутанно. – MikkoP
Извините, мне нужно изменить эти модели. PurchaseOrder должен действительно иметь экземпляр «how_many_products», а затем Product должен быть продуктом и price_for_each_item – Mdjon26
Итак, продукт состоит из нескольких элементов? – MikkoP