Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/324.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 基于引用对象中manytomanyfield的属性获取queryset_Python_Django_Django Models - Fatal编程技术网

Python 基于引用对象中manytomanyfield的属性获取queryset

Python 基于引用对象中manytomanyfield的属性获取queryset,python,django,django-models,Python,Django,Django Models,我有以下型号: class ModelOne(models.Model): id=models.UUIDField(主键=True,默认值=uuid.uuid4,可编辑=False) 第二类模型(models.Model): id=models.UUIDField(主键=True,默认值=uuid.uuid4,可编辑=False) 是否可见=models.BooleanField(默认值=False) ModelOne=models.ManyToManyField(ModelOne,blank=

我有以下型号:

class ModelOne(models.Model):
id=models.UUIDField(主键=True,默认值=uuid.uuid4,可编辑=False)
第二类模型(models.Model):
id=models.UUIDField(主键=True,默认值=uuid.uuid4,可编辑=False)
是否可见=models.BooleanField(默认值=False)
ModelOne=models.ManyToManyField(ModelOne,blank=True)
在视图中,我希望基于
ModelTwo
的属性获取
ModelOne
s的查询集。例如,如果
ModelOne
s的查询集具有
ModelTwo
,并且
设置为
True
引用它们,我如何获取该查询集

举个例子:

one\u one=ModelOne.objects.create()
one_two=ModelOne.objects.create()
two_one=ModelTwo.objects.create()
two\u two=ModelTwo.objects.create(是否可见=True)
two_three=ModelTwo.objects.create()
两个。模型。添加(一个)
保存
两个三个。模型。添加(一个二)
二、三、保存
queryset=[??]
queryset
将只包含
one
,因为
two\u two
引用了
one
,并且还包含
是否可见
为真
您可以使用以下内容进行筛选:

ModelOne.filter(modeltwo__is_visible=True)
ModelOne.filter(modeltwo\u可见=True)
可以反向过滤关系。它将在中使用。如果您没有指定,它将使用,如果您没有指定这两者中的任何一个,它将使用小写的类名称