Запрос Django для получения элементов, выбранных в качестве внешних ключей? - PullRequest
1 голос
/ 24 марта 2012

Итак, представьте, что есть модель City с внешним ключом Country.В базе данных некоторые страны были выбраны в одном или нескольких городах, а некоторые - ни в одном.

Как мы можем найти только те страны, которые выбраны в одном или нескольких городах, исключая те, которые вообще не выбраны

Ответы [ 2 ]

1 голос
/ 24 марта 2012
# Get all countries that have at least one city
Country.objects.exclude(city__isnull=False) 
0 голосов
/ 28 апреля 2012

Попробуйте это:

from django.db.models import Count
Country.objects.annotate(city_count=Count('city_set')).filter(city_count__gt=1)

Документы здесь: https://docs.djangoproject.com/en/dev/topics/db/aggregation/#joins-and-aggregates

...