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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • winhex 数据恢复_win10文件恢复软件

    winhex 数据恢复_win10文件恢复软件数据恢复分类:硬恢复和软恢复。所谓硬恢复就是硬盘出现物理性损伤,比如有盘体坏道、电路板芯片烧毁、盘体异响,等故障,由此所导致的普通用户不容易取出里面数据,那么我们将它修好,同时又保留里面的数据或后来恢

    2022年8月5日
    5
  • LaTex数学公式_markdown怎么写数学公式

    LaTex数学公式_markdown怎么写数学公式LaTeX数学公式,包含前言,注意事项,插入公式,注释,编号,转义字符,换行与对齐,字体,空格,上下标,括号,大括号和行标,分式,开方,对数,省略号,最值,方程组和分段函数,累加和累乘,矢量,积分,极限,导数与偏导,矩阵,表格,希腊字母,运算符,戴帽符号,特殊符号,等等。

    2022年5月3日
    62
  • Robotium学习

    Robotium学习Robotium是一个基于模拟点击事件的用于进行黑盒测试的android测试工具。1.AndroidJUnitAndroid自动测试沿用Java中的JUnit创建测试类的时候,继承 ActivityInstrumentationTestCase2即可。其中MainActivity为测试时进入的首个界面。由于继承于JUnit因此在s

    2022年7月25日
    13
  • 显卡矿机装linux教程,8张GTX1080Ti显卡加副电源矿机组装教程

    显卡矿机装linux教程,8张GTX1080Ti显卡加副电源矿机组装教程在经历一波短暂的回调后,最近比特币又持续升温,一度突破19000元大关,目前价格基本在18000-19000之间浮动,挖矿市场可谓是一片火爆!近日大风哥闲来无事,自己也倒腾了一台矿机来玩玩,特来大家分享一下安装教程及心得。说到挖矿,显卡当然是首当其冲了,而现阶段市售各型号的显卡也因虚拟币市场火热而处于货源紧缺的状态,可谓是一卡难求!赶巧笔者手上有几片GTX1080Ti,矿机的显卡就选用它们了!Em…

    2022年9月30日
    3
  • Linux查看端口使用状态、关闭端口方法

    Linux查看端口使用状态、关闭端口方法前提:首先你必须知道,端口不是独立存在的,它是依附于进程的。某个进程开启,那么它对应的端口就开启了,进程关闭,则该端口也就关闭了。下次若某个进程再次开启,则相应的端口也再次开启。而不要纯粹的理解为关闭掉某个端口,不过可以禁用某个端口。1.可以通过”netstat-anp”来查看哪些端口被打开。(注:加参数’-n’会将应用程序转为端口显示,即数字格式的地址,如:nfs->2049,

    2022年7月20日
    24
  • xshell 在Oracle SQL Plus backspace键 变为 sele^H^H^H

    xshell 在Oracle SQL Plus backspace键 变为 sele^H^H^Hxshell在OracleSQLPlus backspace键变为sele^H^H^H问题描述:用Xshell登录进入linux后,在普通模式下或进入SQLPlus 模式下,对输入进行删除等操作没有问题.而在运行中,按delete,backspace键时会产生^H等乱码问题.这是因为编码不匹配的问题.解决方法:方法1:

    2025年5月28日
    2

发表回复

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

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