我需要创建一个查询,我想在其中检查字段“Answer_String”是否包含列表中的任何一个值。
我是这样做的:
q=queryset.filter(reduce(operator.and_, (Q(answer_string__contains = item) for item in answerList)))
有一个没有。用户可以从中选择多个答案的复选框,并且我已经创建了列表。在answer_string字段中的任何值都可以包含字符串中的多个答案。但我想检查字符串是否包含列表中的任何一个值,它应该将其视为是。
我写的这个查询返回零结果。有什么帮助吗?
答案 0 :(得分:1)
如果要检查字段是否包含列表的“任何”值,请使用operator.or_
operator.and_
通过and
连接较小的Q对象。因此,您当前的查询正在搜索包含所有列表值的字段值。
答案 1 :(得分:1)
我认为这应该有用
Intent intent = new Intent(Intent.ACTION_MAIN);
intent.setClassName("com.android.phone","com.android.phone.NetworkSetting");
startActivity(intent);
另外,我不认为你应该使用operator.and_而不是operator.or _
检查此链接 Filter Django database for field containing any value in an array