Django查询检索被选为外键的项目?

时间:2012-03-23 21:56:29

标签: python django django-models

因此,假设有一个模型City,它有一个外键Country。在数据库中,一些国家在一个或多个城市被选中,有些国家被选中。

我们怎样才能找到在一个或多个城市中被选中的国家/地区,不包括那些未被选中的城市?

2 个答案:

答案 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