如何在django中过滤模型的实例,查询集值为filter field?

时间:2015-06-20 09:24:01

标签: python django filter

我正在django中创建一个应用程序,我有下一个问题:

我想通过字段att1来传递modelA的对象,并且我有一个字段att1的值的查询集。我的意思是,我的模特是:

class modelA(models.Model):
    att1 = models.ForeignKey(modelB)
    ...

class modelB(models.Model):
    ...

我得到了一个modelB的对象的查询集,我希望获得modelA的所有对象,其值为att1,是modelB的查询集的任何值。

我该怎么做?

非常感谢你!

2 个答案:

答案 0 :(得分:1)

没有什么魔法

ModelA.objects.filter(att1=queryset of modelB)

答案 1 :(得分:0)

说你有对象B,字段为att2和att3

class modelA(models.Model):
    att1 = models.ForeignKey(modelB)


class modelB(models.Model):
   att2 = models.CharField(max_length=255)
   att3 = models.CharField(max_length=255)

然后你通过这样做来过滤:     results = modelA.objects.filter(att1__att2 ='foo')

希望这会有所帮助