2010-10-15 3 views
0

Я хотел поместить код foo/view ниже в свойство под объектом модели Foo, но сообщение об отладке говорит, что «бар» не найден. Почему это работает в view.py, но не работает, когда я помещаю его в models.py (я не помню, чтобы импортировать Bar)?django count of manytomany field

спасибо!

Foo/models.py

класс Foo (models.Model):

title = models.CharField(_(u'Title'), max_length=600) 

бар/models.py

класс Bar (models.Model):

foo = models.ManyToManyField(Foo) 

eg_id = models.PositiveIntegerField(_(u'Example ID'), default=0) 

foo/views.py

from django.db.models import Count 
qs = Foo.objects.filter(
     bar__eg_id__in=id_list 
).annotate(
     bar_count=Count('bar') 
).order_by('bar_count') 
+0

не могли бы вы отформатировать исходный код? его трудно читать – pleasedontbelong

ответ

1

Ваш класс Bar, вероятно, еще не определен в models.py - попробуйте переместить его над Foo.