class Country(models.Model):
name = models.CharField(max_length=200)
class City(models.Model):
name = models.CharField(max_length=200)
country = models.ForeignKey(Country,on_delete=models.CASCADE)
class Restaurant(models.Model):
city = models.ManyToManyField(City)
在我的数据库中,有120个城市和25个国家。
但创建的餐厅仅位于20个城市。
我需要一个查询来检索我的餐馆所在的所有城市。另一个查询是检索我的餐馆所在的所有国家。
对于第一个查询,我使用了@Daniel Roseman提出的想法:
City.objects.exclude(restaurant=None)
对于第二个查询,我一直得到空的queryset。我必须对用户进行筛选:
Country.objects.exclude(city__restaurant__isnull=False).distinct()