Python 来自两个模型的Django queryset过滤器

Python 来自两个模型的Django queryset过滤器,python,django,django-queryset,Python,Django,Django Queryset,在我的Django应用程序中,我有两个模型,我不知道如何查询选择正确的记录。代码如下: class tab1 (models.Model): id_tab1 = models.AutoField(primary_key=True) name = models.CharField(max_length=50) class tab2 (models.Model): id_tab1 = models.ForeignKey(tab1) type = models.Int

在我的Django应用程序中,我有两个模型,我不知道如何查询选择正确的记录。代码如下:

class tab1 (models.Model):
    id_tab1 = models.AutoField(primary_key=True)
    name = models.CharField(max_length=50)

class tab2 (models.Model):
    id_tab1 = models.ForeignKey(tab1)
    type = models.IntegerField()
我想选择tab2.type等于某个条件的tab1记录。在Django我怎么做

your_queryset = tab1.objects.filter(tab2__type=value)
请参阅相关文档 简单地说:您可以以任意方式跨越关系(即从外键的两端开始)。 条件在filter()的命名参数中指定。我上面建议的是最简单的一个(即相等),但还有很多(例如startswith、contains等)。请阅读

请参阅相关文档 简单地说:您可以以任意方式跨越关系(即从外键的两端开始)。
条件在filter()的命名参数中指定。我上面建议的是最简单的一个(即相等),但还有很多(例如startswith、contains等)。请阅读

考虑为字段
类型
存储了值1,2。以下说明了实现
type=1
需求的一种方法

filtered_objs = tab1.objects.filter(type=1)
tab2.objects.filter( tab1__in=filtered_objs)

假设您为字段
类型
存储了值1,2。以下说明了实现
type=1
需求的一种方法

filtered_objs = tab1.objects.filter(type=1)
tab2.objects.filter( tab1__in=filtered_objs)

您可以通过一些描述来改进您的答案,这些描述的作用是什么,打算如何使用,也许还可以链接到文档?(我怀疑第二行也有错别字)你可以通过一些描述来改进你的答案,比如做什么,打算如何使用,或者是一个到文档的链接?(我怀疑第二行也有打字错误)