2010-04-28 5 views
2

Я просто столкнулся с некоторыми проблемами с моделями 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__() 

, но, когда я называю телеги собственность вот что я получаю в питона консоли:

+0

Просто нашел (очень плохо) обходной путь, используя Item.objects.filter (cart = self.pk) ... но мне это не очень нравится – LoG

ответ

3

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

for i in self.items.all: 

с этим

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

:) Это был мой собственный первый ответ на мою проблему, кстати, кажется, что Соответствующий менеджер не был готов, когда я его вызывал – LoG

Смежные вопросы