Django Query Get Related Set Count - PullRequest
       4

Django Query Get Related Set Count

0 голосов
/ 27 января 2012

Я запрашиваю базу данных и пытаюсь найти количество связанных наборов с именем 'item'.

user_lists = List.objects.filter(user=user).select_related('city','city__country')

, который вызывает элементы, которые я хочу, но чтобы добавить количество связанных наборов, я добавляю аннотацию:

user_lists = List.objects.filter(user=user).select_related('city','city__country').annotate(item_count=Count('item'))

Однако, это возвращает пустой запрос из БД. Есть идеи почему? Я не получаю никаких ошибок. Просто пустой набор запросов.

Ответы [ 3 ]

0 голосов
/ 27 января 2012

возможно, вы можете использовать метод count () для подсчета элементов в QuerySet: Количество ()

user_lists_count = List.objects.filter(user=user).select_related('city','city__country').count()

это работает?

надеюсь, что это то, что вы хотите.

0 голосов
/ 27 января 2012

Только что понял, что это проблема с переменной item_count. Когда я использовал total_items, он работал нормально.

0 голосов
/ 27 января 2012

Не фактический ответ, просто идея о том, как вы можете исследовать: проверьте фактический запрос, который выполняется через print str(some_queryset.query) Затем вы можете попробовать выполнить запрос в manage.py dbshell и проверить результаты.

Также может быть полезно опубликовать ваши модели и механизм БД, так как это может быть связано.

...