Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/symfony/6.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
Django 过滤器只显示第一个对象_Django_Django Filter - Fatal编程技术网

Django 过滤器只显示第一个对象

Django 过滤器只显示第一个对象,django,django-filter,Django,Django Filter,我目前在django的一个数据库应用程序中工作。我想使用django filter向页面添加高级过滤功能,但我发现我的方法存在问题,希望您能帮助我 为了说明我的观点 Organism.objects.all().filter(lipids=Lipid.objects.all()) 只返回包含第一个脂质对象的有机体对象,而不是所有有机体对象 更多详情: 假设我的模型是: 型号: 在django shell中: In [1]: from catalog.models import * In [2]

我目前在django的一个数据库应用程序中工作。我想使用django filter向页面添加高级过滤功能,但我发现我的方法存在问题,希望您能帮助我

为了说明我的观点

Organism.objects.all().filter(lipids=Lipid.objects.all())
只返回包含第一个脂质对象的有机体对象,而不是所有有机体对象

更多详情: 假设我的模型是: 型号:

在django shell中:

In [1]: from catalog.models import *
In [2]: o = Organism.objects.all()
In [3]: l = Lipid.objects.all()
In [4]: o
Out[4]: <QuerySet [<Organism: speceies_name_001>, <Organism: speceies_name_002>, <Organism: speceies_name_003>, <Organism: speceies_name_004>]>
In [5]: l
Out[5]: <QuerySet [<Lipid: common_name_001>, <Lipid: common_name_002>, <Lipid: common_name_003>, <Lipid: common_name_004>]>
In [6]: o.filter(lipids=l)

Out[6]: <QuerySet [<Organism: speceies_name_001>]>
[1]中的
:从catalog.models导入*
在[2]中:o=organic.objects.all()
在[3]中:l=Lipid.objects.all()
在[4]中:
出[4]:
在[5]中:
出[5]:
[6]中:o.过滤器(脂质=l)
出[6]:
我希望看到所有的生物都被过滤掉,因为我没有过滤任何东西

我确信这是我所缺少的一件基本的事情,但我无法理解

通过执行以下操作,Django自动选择first作为关系参数(智能参数)

你想要达到的是以下目标

.filter(lipids__in=Lipid.objects.all())
但更好的方法是做以下事情

.filter(lipids__isnull=False)

通过执行以下操作,Django自动选择first作为关系参数(智能参数)

你想要达到的是以下目标

.filter(lipids__in=Lipid.objects.all())
但更好的方法是做以下事情

.filter(lipids__isnull=False)

所以你基本上想要所有与它们相关联的脂质的生物体?是的,实际上这是我问题的简化,只是为了说明我的观点。在这种情况下,我希望看到所有的有机体,因为我过滤所有的脂质。。。它只返回含有第一个脂质的生物体……我确信这与脂质是一个众多领域有关……所以你基本上想要所有含有与它们相关的脂质的生物体?是的,实际上这是我问题的简化,只是为了说明我的观点。在这种情况下,我希望看到所有的有机体,因为我过滤所有的脂质。。。而且它只返回含有脂质的生物体……我确信这与脂质是一个众多领域有关……谢谢你的快速回答!这解决了我提出的问题,但不幸的是,我试图将其应用于我的实际问题(与django过滤器相结合),并且它一直在做同样的事情。我想我会问一个新问题,包括所有的细节。。。。谢谢你的快速回答!这解决了我提出的问题,但不幸的是,我试图将其应用于我的实际问题(与django过滤器相结合),并且它一直在做同样的事情。我想我会问一个新问题,包括所有的细节。。。。