因此,假设有一个模型City
,它有一个外键Country
。在数据库中,一些国家在一个或多个城市被选中,有些国家被选中。
我们怎样才能找到在一个或多个城市中被选中的国家/地区,不包括那些未被选中的城市?
答案 0 :(得分:1)
# Get all countries that have at least one city
Country.objects.exclude(city__isnull=False)
答案 1 :(得分:0)
试试这个:
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