如何创建"和"过滤来检索Django中的对象?例如,我想检索在单个字段中包含两个单词组合的行.
例如,当我在MySQL数据库上运行下面的SQL查询时,它就是这样做的:
select * from myapp_question
where ((question like '%software%') and (question like '%java%'))
在Django中,如何使用过滤器来实现这一点?
如何创建"和"过滤来检索Django中的对象?例如,我想检索在单个字段中包含两个单词组合的行.
例如,当我在MySQL数据库上运行下面的SQL查询时,它就是这样做的:
select * from myapp_question
where ((question like '%software%') and (question like '%java%'))
在Django中,如何使用过滤器来实现这一点?
(update:这个答案将不再有效,并给出语法错误keyword argument repeated
)
mymodel.objects.filter(first_name__icontains="Foo", first_name__icontains="Bar")
update:我很久没有写这个答案并做了一些Django了,但我相信直到今天最好的方法还是使用Q对象方法,就像David Berger在这里展示的那样:How do I use AND in a Django filter?