Django: неподдерживаемый тип(ы) операнда для +: 'int' и 'method' в django

я пытаюсь написать функцию, которая бы возвращала общее количество корзин, но она продолжает показывать эту ошибку unsupported operand type(s) for +: 'int' and 'method' когда я закомментирую этот код total = sum([item.get_total for item in orderitems]) ошибки исчезают, но я не получаю общее количество корзин, что означает, что код необходим. Я выяснил, что это может быть из-за того, что я пытаюсь использовать Конкатенация "+" со строкой и различными типами не разрешена в Pyhton. но я не могу определить, откуда исходит ошибка!

views.py

@login_required
def cart(request):
    if request.user.is_authenticated:
        student = request.user.student
        order, created = Order.objects.get_or_create(student=student, completed=False)
        items = order.orderitem_set.all()
    else:
        items = []
    context = {
            'items': items,
            'order': order,
    }
    return render(request, 'course/cart.html', context)

models.py

class Student(models.Model):
    user = models.OneToOneField(User, on_delete=models.CASCADE)
    full_name = models.CharField(max_length=1000)
    email = models.EmailField()

    def __str__(self):
        return self.user.username

class Order(models.Model):
    student = models.ForeignKey(Student, on_delete=models.SET_NULL, null=True)
    date_ordered = models.DateTimeField(auto_now_add=True)
    completed = models.BooleanField(default=False, null=True, blank=True)
    transaction_id = models.CharField(max_length=200, null=True, blank=True)

    def __str__(self):
        return self.student.user.username
        # return str(self.id)
    
    @property
    def get_cart_total(self):
        orderitems = self.orderitem_set.all()
        total = sum([item.get_total for item in orderitems])
        return total

    @property
    def get_cart_items(self):
        orderitems = self.orderitem_set.all()
        total = sum([item.quantity for item in orderitems])
        return total


class OrderItem(models.Model):
    course = models.ForeignKey(Course, on_delete=models.SET_NULL, blank=True, null=True)
    order = models.ForeignKey(Order, on_delete=models.SET_NULL, blank=True, null=True)
    date_added = models.DateTimeField(auto_now_add=True)
    quantity = models.IntegerField(default=1, null=True, blank=True)

    def __str__(self):
        return self.course.course_title

    def get_total(self):
        total = self.course.price * self.quantity
        return total

traceback

  File "C:\Users\Destiny\Desktop\Circus\dnextedprj\course\models.py", line 218, in get_cart_total
    total = sum([item.get_total for item in orderitems])
TypeError: unsupported operand type(s) for +: 'int' and 'method'
[12/Apr/2022 23:30:45] "GET /course/user/cart HTTP/1.1" 500 185577

Вы забыли вызвать метод item.get_total()

sum([item.get_total() for item in orderitems])
Вернуться на верх