Django models 访问模型属性内的相关对象

Django models 访问模型属性内的相关对象,django-models,Django Models,我只是在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) de

我只是在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
>>a.总计项目
回溯(最近一次呼叫最后一次):
文件“”,第1行,在
文件“models.py”,第49行,总计项目
对于self.item_set.all中的i:
TypeError:“RelatedManager”对象不可调用

尝试更换此行

for i in self.items.all:
用这个

for i in self.items.all():
刚刚发现了一个(非常糟糕的)使用Item.objects.filter(cart=self.pk)的解决方法。。。但我真的不喜欢:)这是我自己对我的问题的第一个答案,顺便说一句,当我打电话时,相关经理似乎还没有准备好