【发布时间】:2016-03-04 09:00:46
【问题描述】:
该网站是关于从 ecchi 动漫中储存pantsu 的照片,可能会按颜色、角色名称、动漫名称和内衣类型进行研究,而您选择任何标准的顺序并不重要。
我的 Pantsu 表有 3 个外键 -> 颜色、类型、女孩
我的 Girl 表有一个指向 Anime 的外键。
让我们假设:
>>> girlList = Girl.objects.all()
>>> girlList
>>> [<Girl: Hanekawa Tsubasa>, <Girl: Hachikuji Mayoi>, <Girl: Hitagi Senjōgahara>]
好的,这就是我们想要的,但是现在,还有一件事:
>>> Color.objects.filter(pantsu__P_Girl__Girl_Name='Hachikuji Mayoi')
[Color: White]
还是对的,这个女孩目前我的数据库里只有一条裤子,而且是白色的。现在这个:
>>> Color.objects.filter(pantsu__P_Girl__Girl_Name='Hanekawa Tsubasa')
[Color: Black, Color: Pink]
再次正确,但这里是错误的部分,如果我想从我的数据库中获取所有女孩的颜色,只有这 2 个女孩,我会得到类似的结果,[White, Pink, Black],或者类似的东西,但我没有。看。
Color.objects.filter(pantsu__P_Girl=girlList)
[Color: Pink, Color: Black]
我只从我的查询集的第一个元素中得到结果,这里我得到粉红色和黑色,因为 girlList 的第一个元素是羽川翼,她与粉红色和黑色相匹配。
为什么我不能得到匹配查询集每个字段的结果?我错过了什么吗?
【问题讨论】:
-
如果你能展示模型的相关部分而不是描述它们会更好
-
girlList是两个女孩对象的列表吗?那你可能需要Color.objects.filter(pantsu__P_Girl__in=girlList) -
@ilse2005 -
girlList是我认为的所有初始查询集 (sn-p 1)
标签: python django django-models django-queryset