首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用“或”语句生成查询集

如何使用“或”语句生成查询集
EN

Stack Overflow用户
提问于 2018-10-26 14:06:34
回答 1查看 49关注 0票数 0

我有一篇文章范本,在一篇文章中,我有标题和文章

我有一个搜索函数,搜索中的任何类型都必须得到标题或文章中包含搜索文本的所有文章。

代码语言:javascript
复制
def searh(request):
    print(request.POST)
    kw = request.POST['search']
    articles = Article.objects.filter(title__contains=kw).filter(article__contains=kw)
    context = {'News':articles}
    return render(request, 'menu/search_results.html', context )

通过这个查询不准确,不返回我的if在两个

如何构造它?

代码语言:javascript
复制
  articles = Article.objects.filter(title__contains=kw).filter(article__contains=kw)

我的搜索表

代码语言:javascript
复制
            <form method="POST" class="search-box" action="{% url 'search' %}">
                {% csrf_token %}
                <input  class="site-search" type="text" placeholder="{% trans 'Търси..' %}" name="search">
                <button type="submit"><i class="fa fa-search"></i></button>
            </form>
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-10-26 14:12:10

在我看来,你必须使用:

代码语言:javascript
复制
from django.db.models import Q

def search(request):
    kw = request.POST.get('search')
    articles = Article.objects.filter(Q(title__contains=kw) | Q(article__contains=kw))
    context = {'News':articles}
    return render(request, 'menu/search_results.html', context )
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53010532

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档