Django模糊查询「建议收藏」

Django模糊查询「建议收藏」本文介绍了Django中的单子段和多字段联合的模糊查询

大家好,又见面了,我是你们的朋友全栈君。

模糊查询:

def search(request):
    searchtype = request.POST.get("searchtype")
    keyword = request.POST.get("keyword")
    if searchtype == "all":
        #多个字段模糊查询, 括号中的下划线是双下划线,双下划线前是字段名,双下划线后可以是icontains或contains,区别是是否大小写敏感,竖线是或的意思
        sciencenews = models.Sciencenews.objects.filter(Q(title__icontains=keyword)\
		|Q(content__icontains=keyword)|Q(author__icontains=keyword))
    elif searchtype == "author":
        #单个字段模糊查询
        sciencenews = models.Sciencenews.objects.filter(author__icontains=keyword)
    elif searchtype == "title":
        sciencenews = models.Sciencenews.objects.filter(title__icontains=keyword)
    elif searchtype == "content":
        sciencenews = models.Sciencenews.objects.filter(content__icontains=keyword)
	else:
		#使用点连接的filter链表示and
		sciencenews = models.Sciencenews.objects.filter(author__icontains=keyword).\
			filter(title__icontains=keyword).filter(content__icontains=keyword)
		
    return render(request,"show/index.html",{"param":sciencenews,"searchtype":searchtype,"keyword":keyword})

参考文章:


http://www.guojl.com/article/13/ 


https://www.douban.com/note/505215076/


http://xinleisky.blog.sohu.com/244421023.html


http://blog.sina.com.cn/s/blog_9e2e84050101j3ch.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/139249.html原文链接:https://javaforall.net

赞 (0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Python该怎么入门?Python入门教程(非常详细)「建议收藏」

    Python该怎么入门?Python入门教程(非常详细)「建议收藏」Python要学多久可以学会,达到精通呢?任何知识都是基础入门比较快,达到通晓的程序是需求时日的,这是一个逐渐激烈的进程。通晓任何一门编程语言,都需求通过大量的实践来积累经验,解决遇到的各种疑难问题,看别人的源码,分享自己的分码的这个进程,才能够通晓Python的方方面面。一个对Python程序能算的上通晓的程序员,对相同一个问题,他知道很多种解决问题的方法,并能从中挑选最有功率的方法!…

    2022年8月29日
  • android系统签名工具,android应用实现重启系统+签名「建议收藏」

    android系统签名工具,android应用实现重启系统+签名「建议收藏」1.在AndroidManifest.xml文件的manifest标签中加入一条android:sharedUserId=”android.uid.system”package=”com.ipanel.update”android:versionCode=”1″android:versionName=”1.0″android:sharedUserId=”android.uid.system”&g…

    2022年6月21日
  • linux端口转发技术(单端口分发)

    端口转发映射的程序叫rinetd,下载地址,直接manke编译安装即可。12345678910111213141516[root@PortForward02 src]# wget http://www.boutell.com/r

    2022年4月18日
  • Eclipse安装教程 ——最详细安装java

    Eclipse安装教程——史上最详细安装java&python教程说明(Win7_64位+Eclipse64位+JDK_8u131_64位+python2.7.8+PyDev5.7.0插件)适用操作系统:Win764位所需要的软件以及插件:Eclipse64位、JDK_8u131_64位、python2.7.8、PyDev5.7.0插件第一次发这么长的博客,若有…

    2022年4月6日
  • 【Cover Letter 】SCI 投稿加分必备,手把手教你写 投稿Cover Letter

    【Cover Letter 】SCI 投稿加分必备,手把手教你写 投稿Cover LetterCoverLetter是我们投稿时,与手稿一同发送给编辑的投稿信。一封内容简洁的投稿信,会让编辑对你文章的第一印象加分不少。今天,我们一起来学习一下,一篇给文章加分的投稿信应该怎么写。投稿信的内容主要包含文章的标题、类型,没有一稿多投的声明,文章的主要内容及亮点,还有通讯作者的信息。敲黑板!一篇投稿信最重要的两点,是语言简洁和符合期刊标准。所以,要想写好投稿信,我们务必要了解各…

    2022年4月30日
  • java目录删除_java删除文件及目录[通俗易懂]

    java目录删除_java删除文件及目录[通俗易懂]java中删除目录事先要删除目录下的文件或子目录。用递归就可以实现。publicvoiddel(Stringfilepath)throwsIOException{Filef=newFile(filepath);//定义文件路径if(f.exists()&&f.isDirectory()){//判断是文件还是目录if(f.listFiles().length==…

    2022年6月5日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号