Python 通过集合关系进行Django查询(反向)
我有一门叫做玩具的课,里面的玩具不是动物就是水果 我数据库中的一些例子Python 通过集合关系进行Django查询(反向),python,django,Python,Django,我有一门叫做玩具的课,里面的玩具不是动物就是水果 我数据库中的一些例子 |name|type|pk| |Jerry|Cat|33| |Scoobie|Dog|52| |Leslie|Dog|73| |Helen|Strawbery|86| |Mark|Banana|16| 当用户选择“动物”时,它应该输出杰瑞、史酷比、莱斯利,如果选择“水果”,它应该输出海伦、马克 我需要下面的东西 myDict={'Animal':'Cat' or 'Dog', 'Fruits':'Strawberry' o
|name|type|pk|
|Jerry|Cat|33|
|Scoobie|Dog|52|
|Leslie|Dog|73|
|Helen|Strawbery|86|
|Mark|Banana|16|
当用户选择“动物”时,它应该输出杰瑞、史酷比、莱斯利,如果选择“水果”,它应该输出海伦、马克
我需要下面的东西
myDict={'Animal':'Cat' or 'Dog', 'Fruits':'Strawberry' or 'Banana'}
Toy.objects.filter(type = myDict[input])
或
当然,它们不起作用,有什么想法吗?在不知道您的模型外观的情况下,我如何继续
Toy.objects.filter(type__in=["Dog", "Cat"])
或
第三(所有类型的玩具都是水果或动物)
由于您没有根据所描述的内容将“animal”存储为一种类型,因此您不需要
{'animal':[…],'Fruit':[…]}
确定输入
已解决,谢谢。但我还是需要字典,反正不重要。我接受这个答案。我必须用15个字符:为什么?由于你提供的信息很少,而且你展示的数据库结构也很有用,你对“动物”几乎没有什么用处。请把你的模型贴出来好吗?你说的是:`if(input=animal)Toy.objects.filter(type_uuin=[“Dog”,“Cat]”),else Toy.objects.filter(type_uin=[“草莓”,“香蕉”)`。这也行,但比使用字典跳过if-else有什么好处吗?哦,你想要一个没有if/else的动态过滤吗?不,在你的情况下,我认为(仍然没有看到你的模型)你应该选择if/else。它将更好地服务于这个用例。
Toy.objects.filter(type__in=["Dog", "Cat"])
Toy.objects.filter(type__in=["Strawberry", "Banana"])
Toy.objects.filter(type__in=["Dog", "Cat", "Strawberry", "Banana"])