Как вызвать функцию модели в файле вида в Django - PullRequest
0 голосов
/ 25 июня 2019

Я создал функцию def в файле model.py, и теперь я хочу получить эту функцию в файле view.py. Я знаю, как получить эту функцию в файле шаблона, но я не знаю, как получить эту функцию в файле представления например: В файле model.py:

 class CartItem(models.Model):
        # cart = models.ForeignKey("Cart")
        cart = models.ForeignKey(
            'Cart',
            on_delete=models.CASCADE,
        )
        product = models.ForeignKey(product_models.Product,on_delete=models.CASCADE)
        item = models.ForeignKey(product_models.ProductDetails,on_delete=models.CASCADE)
        quantity = models.PositiveIntegerField(default=1)

        def __unicode__(self):
            return self.item.title

        @property
        def item_week_real_total(self):
            return self.item.get_week_price() * self.quantity

В файле view.py

cart_item = CartItem.objects.filter(cart_id=request.session['cart_id'])
        for cart_item_data in cart_item:
            week_total = cart_item_data.item_week_real_total()

Но я получил ошибку 'decimal. Decimal' объект не может быть вызван

1 Ответ

1 голос
/ 25 июня 2019
item_week_real_total 

должен вызываться как свойство / атрибут, а не метод.Вы украсили его @property, поэтому оно должно называться следующим образом:

cart_item_data.item_week_real_total

без ()

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...