Django ORM 常用的查询方法
1.exact(SQl精确查找 =/is)
class Article(models.Model):title = models.CharField(max_length=200)content = models.TextField(null=False)
查询id=1的文章 article = Article.objects.filter(id_exact=1) //select * from article where id=1
根据title查找:article = Article.objects.filter(title='hello')
article.query可以查看SQL语句
article 的类型是一个query_set
2.iexact (SQL like)
Article.objects.filter(title_iexact='')
SQl: select * from articles where title like 'hello'
模型通过objects.filter 方法调用返回的是一个query_set 对象.调用first()方法返回一条数据,all()犯法返回所有数据
http://3.in
SQL的in类似,传入值可以是列表 也可以是一个query_set对象
用发:
category = Category.objects.filter(name__in=['最新','最热'])
SQL:SELECT `Category`.`id`, `Category`.`name` FROM `Category` WHERE `Category`.`name` IN (热门, 最新)
4.icontains/contains:
contains用法:
article = Article.objects.filter(name__contains='知乎')
SQL: SELECT `Article`.`id`, `Article`.`name`, `Article`.`content`, `Article`.`create_time`, `Article`.`category_id` FROM `Article` WHERE `Article`.`name` LIKE BINARY %知乎%
SQL:语句中LIKE BINARY %知乎% BINARY 大小写敏感
icontains: :大小不敏感
article = Article.objects.filter(name__icontains='知乎')
SQL:SELECT `Article`.`id`, `Article`.`name`, `Article`.`content`, `Article`.`create_time`, `Article`.`category_id` FROM `Article` WHERE `Article`.`name` LIKE %知乎%
注意:contains 和iexact 都会翻译成like contains是有%的模糊查询
5.gt(greater than)、gte(grater than and equal)、lt(less than)、lte(less than and equal):
代表的是大于、大于等于、小于、小于等于的条件。
查找所有文章id>1的字段
article = Article.objects.filter(id__gt=1)
SQL:SELECT `Article`.`id`, `Article`.`name`, `Article`.`content`, `Article`.`create_time`, `Article`.`category_id` FROM `Article` WHERE `Article`.`id` > 1
6.startswith/endswith/ istartswith/iendswith表示以某个值开始,不区分大小写的以某个值开始、以某个值结束、
article = Article.objects.filter(name__startswith='知乎')
SQL:SELECT `Article`.`id`, `Article`.`name`, `Article`.`content`, `Article`.`create_time`, `Article`.`category_id` FROM `Article` WHERE `Article`.`name` LIKE BINARY 知乎%
startswith/endswith 在翻译成SQL语句都是通过like
7.时间的查询:
from django.utils import timezone
timezone.make_aware()
range(start_time,end_time) 指定时间段查询,指定的时间需要aware_time否则会出现一下警告
RuntimeWarning: DateTimeField Article.create_time received a naive datetime (2018-06-07 06:00:00) while time zone support is active.RuntimeWarning)
start_time = timezone.make_aware(datetime(year=2018,month=6,day=6,hour=6))
end_time = timezone.make_aware(datetime(year=2018, month=6, day=7, hour=6))
article = Article.objects.filter(create_time__range=(start_time,end_time))
有帮助到你的点赞、收藏和关注一下吧
需要更多教程,微信扫码即可
Django ORM 常用的查询方法相关推荐
- Django(ORM常用字段)
day68 参考:http://www.cnblogs.com/liwenzhou/p/8688919.html 1. Django ORM常用字段: 1. AutoField ...
- django orm 常用查询筛选
大于.大于等于 __gt 大于 __gte 大于等于User.objects.filter(age__gt=10) // 查询年龄大于10岁的用户 User.objects.filter(age__g ...
- oracle 查询连接方法,Oracle 常用连接查询方法和函数
Oracle常用的连接查询方法(以oracle自带的表做的练习),left join是以左表的记录为基础的,左表中的记录会全部显示,右表只显 一:Oracle常用的连接查询方法(以oracle自带的表 ...
- Django --ORM常用的字段和参数 多对多创建形式
1 ORM字段 AutoField int自增列,必须填入参数 primary_key=True.当model中如果没有自增列,则自动会创建一个列名为id的列. IntegerField 一个整数类型 ...
- python Django ORM ,用filter方法表示“不等于”的方法
使用Q对象例如过滤某个IP from django.db.models import Q Instance.objects.filter.(~Q(instance_ip='1.1.1.1'))
- DAO层常用的查询方法
2019独角兽企业重金招聘Python工程师标准>>> public List<ContentDocument> getList(Integer contentId, I ...
- django常用的模型字段类型和常用的查询
IntegerField : 整型,映射到数据库中的int类型. CharField: 字符类型,映射到数据库中的varchar类型,通过max_length指定最大长度. TextField: 文本 ...
- Pymongo常用查询方法总结
Python 直接连接mongodb数据库进行查询操作 1.安装所需模块 使用到的是pymongo模块,安装方法:pip install pymongo 2.环境验证 3.连接数据库 import p ...
- Django - ORM字段和字段参数
目录 Django - ORM字段和字段参数 一. Django中的ORM 1. Django项目使用MySQL数据库 2.Model 3.基本用法 Django ORM 常用字段和参数 常用字段 其 ...
最新文章
- SpringBoot非官方教程 | 第八篇:SpringBoot整合mongodb
- C/C++内存分配方式与存储区
- 2022跨年代码(HTML·资源都是网上的可以直接使用)
- HTML+CSS+JS实现 ❤️3D奥运五环图形特效❤️
- sql服务器内存不足_SQL Server内存性能指标–第2部分–可用字节,总服务器和目标服务器内存
- BZOJ1251序列终结者——非旋转treap
- java方法重写和super关键字
- Property 和 Attribute 的区别(转)
- python与plc进行串口通信,寄存器写数据 欧姆龙plc
- 排列组合中关于捆绑法、插空法、插隔板法
- Python:实现费马检测算法(附完整源码)
- 一个爬取沪深两市融资融券标的融资融券交易数据的小爬虫
- 计算机网络个人简历范文,计算机网络个人简历范文
- day08学习 Python文件函数、CSV文件读写
- 欧拉角和四元数之间转换公式推导
- l流程图平行四边形_流程图里的形状符号的代表意义
- 难以置信的成就“楼天成”
- 从物理世界到数字世界,陶闯的边界与跨界
- 中国怪企 许昌怪人----胖东来
- #P01048. 最强素数
热门文章
- 微信小游戏出台最严健康游戏管理 未成年游戏时间金额受限制
- 还是有点香!苹果官翻2018款iPad Pro及MacBook Air上架
- 2699元不加价!魅族16s Pro国家宝藏之越王勾践剑礼盒上架
- 腾讯视频与中国电信签署战略合作协议 共同成立5G联合实验室
- 竟然不是马云!第一个使用支付宝的人找到了 :受赠终身钻石会员
- 章子欣父亲发声:感谢提供帮助的媒体,包括百度
- “鸿蒙”来了?华为或将于开发者大会公布鸿蒙系统
- 华为P30 Pro真机上手谍照曝光 这颜值打几分?
- 【点阵液晶编程连载五】液晶驱动代码的移植
- 贝叶斯网的R实现( Bayesian networks in R)bnlearn(3)