Django manytomany object_set按字段查询

时间:2012-09-27 07:34:46

标签: django django-models django-queryset

我在模型中有ManyToMany字段,我想从另一个默认情况下具有_set字段的模型中查询它:

class Airport(models.Model):
    name = models.CharField(max_length=1024, blank=True, null=True)

    def __unicode__(self):
        return unicode(self.name)

class Agent(models.Model):
    name = models.CharField(max_length=1024, blank=True, null=True)
    airports = models.ManyToManyField(Airport)
    def __unicode__(self):
        return unicode(self.name)

所以查询如下:

a=Agents.objects.filter(airports_name_contains='asd')

工作正常。但是:

b=Airport.objects.filter(agent_set__name__contains='agent_')

给出

  

无法将关键字'agent_set_name'解析为字段

我想要准确查询Airport模型。有什么建议吗?

1 个答案:

答案 0 :(得分:1)

哎呀,我的坏。我找到了解决方案manytomany字段的Django表示在查找中显示“agent_set”,但字段本身是“代理”:

agents=Airport.objects.filter(agent_name_contains='agent_')