Mysql Django子查询问题“;子查询返回的行数超过1行;

Mysql Django子查询问题“;子查询返回的行数超过1行;,mysql,django-models,mysql-error-1242,Mysql,Django Models,Mysql Error 1242,我有三个相关的模型,比如 class City(models.Model): name = models.CharField(max_length=200, blank=False) country = models.ForeignKey(Country,unique=False,null=False) def __unicode__(self): return self.name class Meta: ordering =

我有三个相关的模型,比如

class City(models.Model):
    name = models.CharField(max_length=200, blank=False)
    country = models.ForeignKey(Country,unique=False,null=False)

    def __unicode__(self):
        return self.name

    class Meta:
        ordering = ['name']        

class County(models.Model):
    name = models.CharField(max_length=500, blank=False)
    city = models.ForeignKey(City,unique=False,null=False)

    def __unicode__(self):
        return self.name

    class Meta:
        ordering = ['name']

class District(models.Model):
    name = models.CharField(max_length=500, blank=False)
    county = models.ForeignKey(County,unique=False,null=False)

    def __unicode__(self):
        return self.name

    class Meta:
        ordering = ['name']  
我想做的是获取指定城市的所有
地区。
我试过:

District.objects.all().filter(county = County.objects.all().filter(city=City.objects.filter(id=4)))
然而,它给出了类似于
OperationalError的错误:(1242,'子查询返回超过1行')

你能告诉我如何在django实现这个查询吗


谢谢

我不知道你为什么那样做会使事情复杂化。你可以通过以下方式逃脱:

对于模型
city
的给定实例
city
,可以通过以下方式获取所有
地区

District.objects.filter(country\uuu city=city)


您可能需要阅读Django文档中的这一部分,因为它解释了如何实现类似的查找查询

非常感谢你的帮助!我一定会仔细阅读那些文档。