Доступ к связанным объектам внутри модели - PullRequest
2 голосов
/ 28 апреля 2010

У меня просто проблемы с моделями django. Пример кода лучше любого слова:

class Cart(models.Model):
    updated_at = models.DateTimeField(auto_now=True)
    created_at = models.DateTimeField(auto_now_add=True)

    def __unicode__(self):
        return u'date %s;'%(self.created_at)
    def __str__(self):
        return self.__unicode__()

    def _total_items(self):
        """ Totale n di oggetti """
        a = 0
        for i in self.items.all:
            a += i.quantity
        return a
    total_items = property(_total_items)

class Item(models.Model):
    cart = models.ForeignKey(Cart)
    quantity = models.PositiveIntegerField()
    def __unicode__(self):
        return u'product %s'%(self.id)
    def __str__(self):
        return self.__unicode__()

но, когда я вызываю свойство cart, вот что я получаю в консоли python:

>>> a.total_items
Traceback (most recent call last):
  File "<console>", line 1, in <module>
  File "models.py", line 49, in _total_items
    for i in self.item_set.all:
TypeError: 'RelatedManager' object is not callable

1 Ответ

3 голосов
/ 09 мая 2010

Попробуйте заменить эту строку

for i in self.items.all:

с этим

for i in self.items.all():
...