【Django】Django中的模糊查询以及Q对象的简单使用
Django中的模糊查询:
需要做一个查找的功能,所以需要使用到模糊查询.
使用方法是:字段名加上双下划线跟上contains或者icontains,icontains和contains表示是否区分大小写.
实测icontains为不区分大小写,contains为区分大小写.
from djangp.db.models import Q
def select_seller(request,keyword):
seller_info= Seller.objects.filter(Q(username__icontains=keyword|Q(nickname__icontains=keyword)|Q(wechat__icontains=keyword))
Q对象的或与且:
或的关系:
上面的代码中使用到了Q对象,使用Q对象在这个例子里表示的是或的关系,表示只要keyword符合其中任意一个条件即可.
Q(condition1)|Q(condition2),在SQL语句里面就是条件1or条件2
且的关系:
如果需要表示同时满足多个条件的时候,只需要使用逗号连接即可Q(condition1),Q(condition2),这样表示同时需要满足条件1和条件2
或与且也是可以同时使用的,使用方法是Q(condition1),Q(condition2)|Q(condition3),这样就可以表示满足条件1的时候,满足条件2或者条件3..
【Django】Django中的模糊查询以及Q对象的简单使用的更多相关文章
- Django ORM中的模糊查询
ORM映射 什么是ORM映射?在笔者认为就是对SQL语句的封装,所写语句与SQL对应语句含义相同,使开发更加简单方便,不过也是存在弊端的,使程序运行效率下降.例如: UserInfo.objects. ...
- Django中Q查询及Q()对象
问题 一般我们在Django程序中查询数据库操作都是在QuerySet里进行进行,例如下面代码: >>> q1 = Entry.objects.filter(headline__st ...
- Django first()和last() F查询以及Q查询
一.first()和last() 分别返回queryset的第一项与最后一项,具体用法如下: p = Blog.objects.order_by('title').first() 等同于: try: ...
- mysql中的模糊查询
转载自:http://www.letuknowit.com/archives/90/ MySQL中实现模糊查询有2种方式:一是用LIKE/NOT LIKE,二是用REGEXP/NOT REGEXP(或 ...
- Mybatis中的模糊查询
今天下午做的一个功能,要用到模糊查询,字段是description,刚开始我的写法用的是sql中的模糊查询语句, 但是这个有问题,只有将字段的全部值传入其中,才能查询,所以不是迷糊查询. 后来经过搜索 ...
- mongo中的模糊查询
以下是一个mongo查询的综合应用,即介绍一个生产中实际应用的模糊查询,当然其实也很简单,主要用到mongo中的模糊查询和$or查询,以及并的关系,下面是一个mongo中的一条记录 { "_ ...
- MySQL中的模糊查询和通配符转义
MySQL中实现模糊查询有2种方式:一是用LIKE/NOT LIKE,二是用REGEXP/NOT REGEXP(或RLIKE/NOT RLIKE,它们是同义词). 第一种是标准的SQL模式匹配.它有2 ...
- MySQL中的模糊查询 like 和 Oracle中的 instr() 函数有同样的查询效果
注:MySQL中的模糊查询 like 和 Oracle中的 instr() 函数有同样的查询效果: 如下所示: MySQL: select * from tableName where name li ...
- SQL中常用模糊查询的四种匹配模式&&正则表达式
执行数据库查询时,有完整查询和模糊查询之分.一般模糊语句如下:SELECT 字段 FROM 表 WHERE 某字段 Like 条件 其中关于条件,SQL提供了四种匹配模式:1.%:表示任意0个或多个字 ...
随机推荐
- mysql隔离级别与锁,接口并发响应速度的关系(2)
innoDB默认隔离级别 mysql> SELECT @@tx_isolation; +-----------------+ | @@tx_isolation | +-------------- ...
- 练习十七:python辨别数据类型
关于python辨别数据类型可以用python type()方法,那么想要查看一串字符中每项类型,并逐一输出要怎么处理?看下我是怎么处理的 习题要求:输入一行字符,分别统计其中英文字母.数字.空格.和 ...
- rancher中级(二)(rancher中添加证书及操作虚拟主机)
制作一个ssl证书 首先了解关于ssl证书的背景知识:http://www.cnblogs.com/zxj015/p/4458066.html SSL证书包括: 1,CA证书,也叫根证书或者中间级证书 ...
- 使用Telerik StyleMananger 改变Silverlight Button样式
Telerik 支持更改以下控件样式 System.Windows.Button System.Windows.ScrollViewer System.Windows.CheckBox System. ...
- windows下显示隐藏的文件
文件--文件夹选项---查看---高级设置----隐藏文件和文件夹----显示隐藏的文件.文件夹和驱动器
- keil编译器
1 数组比指针效率高. 2 v4.73不能查看局部变量的值:可先将C/C++选项下的优化级别设置成O0,查看完之后修改回去.因默认级别是2级.
- Python 类总结
Python可以继承多个父类,多重继承. 类支持多个对象的产生,命名空间的继承,运算符重载1).类产生多个实例对象Python OOP模型中的两种对象:类对象和实例对象.类对象提供默认的行为,是实例对 ...
- 关于vi 分屏的一些指令
分屏都是以ctrl + W(大写) 首先,ctrl+ W , v 为切屏 之后用 :e 打开其他文件 ctrl + W , c 为关闭当前分屏 ctrl + W , h 为切换到左侧分屏 ...
- AOP注解方式
Aop, aspect object programming 面向切面编程 功能: 让关注点代码与业务代码分离! 关注点, 重复代码就叫做关注点: 切面, 关注点形成的类,就叫切面(类)! 面向切 ...
- 详细介绍VO(值对象)和PO(持久对象)的区别
VO,值对象(Value Object),PO,持久对象(Persisent Object),它们是由一组属性和属性的get和set方法组成.从结构上看,它们并没有什么不同的地方.但从其意义和本质上来 ...