2010-04-28 61 views
2

我只是遇到了Django模型的一些問題。 示例代碼比任何文字更好:訪問模型中的相關對象propery

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__() 

但是,當我叫車財產這裏就是我在Python控制檯中看到:

+0

剛剛發現一個(非常糟糕的)解決方法使用Item.objects.filter(cart = self.pk)...但我真的不喜歡它 – LoG 2010-04-28 10:17:51

回答

3

嘗試更換此行

for i in self.items.all: 

用這個

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

:)這是我自己的第一個答案,我的概率,btw似乎是RelatedManager在我打電話時還沒有準備好 – LoG 2010-05-10 13:34:48