【发布时间】:2017-02-11 05:57:14
【问题描述】:
Django 1.10.1
搜索表单。用户插入由空格分隔的单词。 需要在标题字段中查找包含 ANY 的这些词的对象。
我打算用这样的东西:
Article.objects.filter(
Q(title__icontains="table") | Q(title__icontains="helm")
)
我可以轻松地制作 Q 对象:q = Q(title__icontains="table")。
但障碍是如何将参数传递给过滤器方法。
https://docs.djangoproject.com/en/1.10/topics/db/queries/
语法是filter(**kwargs)。
通过循环,我可以准备这样的字典:
q_objects = {"1": Q(title__icontains="table"), "2": Q(title__icontains="glasses")}
但问题在于那个“|”。
如何将它传递给过滤器方法对我来说是一个谜。换句话说,我无法使用 OR 逻辑运算符构建过滤器。
你能帮帮我吗?
【问题讨论】:
标签: django django-orm