Django models 访问模型属性内的相关对象
我只是在django模型上遇到了一些问题。 示例代码比任何单词都好: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
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)的解决方法。。。但我真的不喜欢:)这是我自己对我的问题的第一个答案,顺便说一句,当我打电话时,相关经理似乎还没有准备好