如何创建"和"过滤来检索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?

Django相关问答推荐

当RST =True时RST CSS

如何根据递归ManyToManyField值创建Django查询集?

在Django ORM中引用非主外键

如何从基于类的视图将用户保存在 django 模型中

通过get_form_kwargs将请求传递给Django表单未能使表单访问self.request.user.

按下按钮刷新在html文件中显示的变量

如何删除django请求中的重复项

Django Rest Framework 认证类覆盖 request.user

如何在 createsuperuser 中实例化表

在 Django 模板中呈现标签名称而不是整数字段

Django `UniqueConstraint` 异常处理方式与 'unique=True' 相同

Django 模板:翻译带有 HTML 的文本块的最佳实践

在 settings.py 中指定 Django 测试数据库名称

Django SMTPAuthenticationError

django - 如何在验证之前处理/清理字段

URL命名空间的一个真实例子

Python Django:您正在使用 staticfiles 应用程序而没有设置 STATIC_ROOT 设置

如何重置 PostgreSQL 表上的 ID 序列

Django unique_together 与可为空的 ForeignKey

如何在 django 中使用更少的 css?