Python 如何在django中更深入地过滤对象?

Python 如何在django中更深入地过滤对象?,python,sql,django,Python,Sql,Django,我想在django项目中过滤水果类型。问题是我使用了很多对象,最后一个需要获取filtert 下面是一个结构示例。 因此,我希望我的输入只显示很多有水果梨的地块 我尝试了以下代码以查看我必须通过什么路径到达水果: Input.objects.get(pk=1).plot.get(pk=1).Fruittype.fruit 这将返回: 所以这是正确的路径,但我不知道如何过滤所有的水果 对不起,如果不清楚我的意思,但这不是我的母语。 编辑:这就是我想要的:当然有办法让它更好,但这正是你想要的

我想在django项目中过滤水果类型。问题是我使用了很多对象,最后一个需要获取filtert

下面是一个结构示例。

因此,我希望我的输入只显示很多有水果梨的地块

我尝试了以下代码以查看我必须通过什么路径到达水果:

Input.objects.get(pk=1).plot.get(pk=1).Fruittype.fruit
这将返回:


所以这是正确的路径,但我不知道如何过滤所有的水果

对不起,如果不清楚我的意思,但这不是我的母语。
编辑:这就是我想要的:

当然有办法让它更好,但这正是你想要的

pear = Fruit.objects.get(name="pear") #  "name" or whatever property name you used
Input.objects.annotate(c=Count('plot__fruittype')).filter(c=1, plot__fruittype=pear)

如果您正在搜索与多个果型的完全等价,则它将不起作用。如果您需要该功能:

我不完全清楚您想要什么对象。
Input
s?我希望“Input”的filter带有水果“pear”的绘图(也是多对多的绘图),例如当我说
Input.objects.filter(plot\uuuuuuuuuuuuufruit\uuuuuuu vrucht=“pear”)[0]。plot.all()
我得到
QuerySet[,]>
你想要所有只包含“pear”的输入吗而不是那些含有梨和其他的?我理解得对吗?是的,我只想要带梨的,这样我就可以过滤水果了。谢谢,我只得到只有一块带水果梨的地块,我也想要其他的,但只看到梨……对不起,我没听你的。你能举例说明你想要的结果吗?在这里你可以找到一些我想要的图片;)我尝试了以下方法:
plots=Plot.objects.filter(水果类型
,它只给出了梨所在的输入,但输入是梨,苹果仍然显示出来。。。