Почему я получаю сообщение об ошибке «Невозможно разрешить ключевое слово» в DJango при выполнении большой суммы?Python

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Почему я получаю сообщение об ошибке «Невозможно разрешить ключевое слово» в DJango при выполнении большой суммы?

Сообщение Anonymous »

Я разрабатываю веб-сайт электронной коммерции, на котором только авторизованные пользователи могут делать заказы. Я хочу получить общую стоимость всех заказов во время оформления заказа (т. е. order_price_total), но получаю ошибку:
Cannot resolve keyword 'order_price_total' into field. Choices are: delivered, id, order_date, paid, product, product_id, quantity, ready_for_delivery, shipped, user, user_id

Ниже приведен фрагмент моего кода (модель и представление):
class Product(models.Model):
supplier = models.ForeignKey(Shop, on_delete=models.CASCADE)
product_name = models.CharField(max_length=100, null=True, blank=True)
brand_name = models.CharField(max_length=100, null=True, blank=True)
image = models.FileField(upload_to='meadia/product-image', null=True)
key_features = models.TextField(max_length=1000, null=True, blank=True)
specifications = models.TextField(max_length=1000, null=True, blank=True)
description = models.TextField(max_length=1000, null=True, blank=True)
creation_date = models.DateTimeField(auto_now_add=True)

def __str__(self):
return self.product_name

class Order(models.Model):
user = models.ForeignKey(CustomUser, on_delete=models.DO_NOTHING)
product = models.ForeignKey(Product, on_delete=models.DO_NOTHING)
quantity = models.IntegerField(default=1, null=True, blank=True)
order_date = models.DateTimeField(auto_now_add=True)

paid = models.BooleanField(default=False)
shipped = models.BooleanField(default=False)
ready_for_delivery = models.BooleanField(default=False)
delivered = models.BooleanField(default=False)

def order_price_total(self):
if self.paid == False:
total_price = self.product.current_price * self.quantity
return (total_price)

def __str__(self):
return self.product.product_name

##VIEW
@login_required(login_url='login')
def orders(request):
order = Order.objects.filter(user=request.user)
total_amount = Order.objects.filter(user=request.user, paid=False, delivered=False).aggregate(TOTAL = Sum('order_price_total'))['TOTAL'] or 0

context={
'order':order,
'total_amount':total_amount,
}
return render(request, 'mainapp/cart.html', context)


Подробнее здесь: https://stackoverflow.com/questions/782 ... rming-a-la
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»