如何检查字符串是否包含Django ORM中查询中列表的任何一个值

2024-03-29 11:04:58 发布

您现在位置:Python中文网/ 问答频道 /正文

我需要创建一个查询,我想在其中检查字段“Answer_String”是否包含列表中的任何一个值。在

我是这样做的:

q=queryset.filter(reduce(operator.and_, (Q(answer_string__contains = item) for item in answerList)))

有许多复选框,用户可以从中选择多个答案,我已经创建了列表。任何答案字符串字段中的值可以包含字符串中的多个答案。但是我想检查字符串是否包含列表中的任何一个值,它应该将其视为yes。在

我编写的这个查询返回零结果。有什么帮助吗?在


Tags: and字符串答案answerreduce列表forstring
2条回答

我想这应该行得通

queryset.filter(answer_string__in = answerList)

而且,我不认为你应该使用操作员和而是操作员或在

同时检查此链接 Filter Django database for field containing any value in an array

{1}“如果你想检查列表中的任何值^”

operator.and_通过and连接较小的Q对象。因此,当前查询正在搜索包含所有列表值的字段值。在

相关问题 更多 >