django ORM CRUD
一.增加数据-Create
1.类名.objects.create(属性=值,属性=值)
- Myomodel.objects.create(name="TeacherCang",age=)
2.d={"属性":"值"} obj=类名(**d) obj.save()
- d={"name":"Money","age":}
- obj=Myomodel(**d)
- obj.save()
3.obj=类名() obj.属性=值 obj.save()
- obj=Myomodel()
- obj.name="Child"
- obj.age=
- obj.save()
二.删除数据-Delete
1.单个删除:类名.objects.get(属性=值).delete()
- Myomodel.objects.get(id=).delete()
2.批量删除:类名.objects.filter(条件).delete()
- Myomodel.objects.filter(age__lt=).delete()
三.修改数据-Update
1.单个修改:查 改 存
- obj=Myomodel.objects.get(id=)
- obj.name="xiugai"
- obj.save()
2.批量修改:类名.objects.filter(条件).update(属性=值)
- Myomodel.objects.filter(name="money").update(name="amaoagou")
四.查询数据-Retrieve
- Myomodel.objects.all()#<QuerySet [<Myomodel: Myomodel object ()>]>Myomodel.objects.values()#<QuerySet [{'id': , 'name': 'xiugai', 'age': }]>Myomodel.objects.values('id','age')#<QuerySet [{'id': , 'age': }]>Myomodel.objects.values_list()#<QuerySet [(, 'xiugai', )]>Myomodel.objects.values_list('name')#<QuerySet [('xiugai',), ('Jerry',)]>Myomodel.objects.filter(name="amaoagou")#<QuerySet [<Myomodel: Myomodel object ()>]>
查询:过滤查询:类名.objects.filter(属性__查询谓词=值)#此处是双下划线
查询谓词:
1.exact 等值查询
2.contains 模糊查询,相当于like "%xx%"
3.in 模糊查询
4.gt 大于
5.lt 小于
6.gte 大于等于
7.lte 小于等于
8.startswith 以...开始,相当于like "x%"
9.endwith 以...结束,相当于like "%x"
10.range 相当于between and
11.regex 正则表达式匹配
- Myomodel.objects.filter(name__startswith="Kai")#<QuerySet [<Myomodel: Myomodel object ()>]>Myomodel.objects.filter(name__contains="cher")#<QuerySet [<Myomodel: Myomodel object ()>]>
查询:条件取反:类名.objects.exclude(条件)
- Myomodel.objects.exclude(name__contains="cher")#<QuerySet [<Myomodel: Myomodel object (1)>]>
查询:排序查询:类名.objects.order_by(条件)
默认是升序,字段名前加“-”即可降序排列
- Myomodel.objects.order_by('age').values_list('age')
- #<QuerySet [(,), (,), (,), (,), (,), (,), (,), (,), (,)]>Myomodel.objects.order_by('-age').values_list('age')
- # < QuerySet[(,), (,), (,), (,), (,), (,), (,), (,), (,)] >Myomodel.objects.order_by('-age','-id').values_list('age','id')
- #<QuerySet [(, ), (, ), (, ), (, ), (, ), (, ), (, ), (, ), (, )]>
只查询一条:类名.objects.get(条件)
- Myomodel.objects.get(id=)#Myomodel object ()
获取查询数量
- Myomodel.objects.filter(name="TeacherCang").count()#
聚合查询
- from django.db.models import Avg,Sum,Count,Max,Min
.........................
- Myomodel.objects.aggregate(age=Avg('age'))
Myomodel.objects.aggregate(age=Sum('age'))
Myomodel.objects.aggregate(age=Count('age'))
Myomodel.objects.aggregate(age=Max('age'))
Myomodel.objects.aggregate(age=Min('age'))
django ORM CRUD的更多相关文章
- django ORM的总结
1.django分表的方案: https://mp.weixin.qq.com/s?__biz=MjM5NjA3Nzk3Ng==&mid=2648154502&idx=1& ...
- django orm总结[转载]
django orm总结[转载] 转载地址: http://www.cnblogs.com/linjiqin/archive/2014/07/01/3817954.html 目录1.1.1 生成查询1 ...
- Django ORM - 001 - 外键表查询主表信息
开始用Django做web开发,我想大家都会遇到同样的问题,那就是如何高效快速的查询需要的数据,MVC都很简单,但是ORM折腾起来就有些费时间,我准备好好研究下Django ORM,所以会有一个系列的 ...
- Django ORM 中的批量操作
Django ORM 中的批量操作 在Hibenate中,通过批量提交SQL操作,部分地实现了数据库的批量操作.但在Django的ORM中的批量操作却要完美得多,真是一个惊喜. 数据模型定义 首先,定 ...
- Django ORM 查询管理器
Django ORM 查询管理器 ORM 查询管理器 对于 ORM 定义: 对象关系映射, Object Relational Mapping, ORM, 是一种程序设计技术,用于实现面向对象编程语言 ...
- Django ORM模型的一点体会
作者:Vamei 出处:http://www.cnblogs.com/vamei 严禁转载. 使用Python的Django模型的话,一般都会用它自带的ORM(Object-relational ma ...
- 数据库表反向生成(二) Django ORM inspectdb
在前一篇我们说了,mybatis-generator反向生成代码. 这里我们开始说如何在django中反向生成mysql model代码. 我们在展示django ORM反向生成之前,我们先说一下怎么 ...
- Django ORM那些相关操作
一般操作 https://docs.djangoproject.com/en/1.11/ref/models/querysets/ 官网文档 常用的操作 <1> all() ...
- django orm 及常用参数
一些说明: 表myapp_person的名称是自动生成的,如果你要自定义表名,需要在model的Meta类中指定 db_table 参数,强烈建议使用小写表名,特别是使用MySQL作为后端数据库时. ...
随机推荐
- ThinkPHP连接Oracle数据库的详细教程
一. 操作环境搭建 系统:Windows7 旗舰版 64位PHP环境:wampserver2.2e-php5.4.3-httpd2.2.22-mysql5.5.24 32位版ThinkPHP:3.0正 ...
- mysql插入数据频繁出现坏表
测试环境mysql出现了一个怪表:select查询表卡死,alter修改表卡死,甚至我不想要这个表了,delete.truncate.drop表都卡死卡主了...... 解决办法: >show ...
- 使用excel中的数据快速生成sql语句
在小公司的话,总是会有要开发去导入历史数据(数据从旧系统迁移到新系统上)的时候.这个时候,现场实施或客户会给你一份EXCEL文档,里面包含了一些别的系统上的历史数据,然后就让你导入到现在的系统上面去. ...
- 使用Docker之镜像的拉取、查询、删除
1:查看镜像列表 2:拉取镜像 通过命令可以从镜像仓库中拉取镜像,默认从Docker Hub 获取. 命令格式: docker image pull <repository>:< ...
- A - A Compatible Pair-biaobiao88
A - A Compatible Pair Nian is a monster which lives deep in the oceans. Once a year, it shows up on ...
- 网络编程——TCP协议、UDP协议、socket套接字、粘包问题以及解决方法
网络编程--TCP协议.UDP协议.socket套接字.粘包问题以及解决方法 TCP协议(流式协议) 当应用程序想通过TCP协议实现远程通信时,彼此之间必须先建立双向通信通道,基于该双向通道实现数 ...
- Mybatis源码解析(一) —— mybatis与Spring是如何整合的?
Mybatis源码解析(一) -- mybatis与Spring是如何整合的? 从大学开始接触mybatis到现在差不多快3年了吧,最近寻思着使用3年了,我却还不清楚其内部实现细节,比如: 它是如 ...
- 开发--CentOS-7安装及配置
开发|CentOS-7安装及配置 本文主要进行详细讲解CentOS7.5系统的安装过程,以及CentOS系统初始化技术.我并不想将这篇文章变成一个教程,尽管我将详细的进行每一步的讲解,enjoy! 前 ...
- IDEA Mac 快捷键
智能提示 ⌘ -> command ⇧ -> shift ⌥ -> option ⬆ -> 上箭头 ⬇ -> 下箭头 ⌃ -> Control 编辑 快捷键 说明 ...
- 关于如何修改一张表中所有行与选定字段的同sql多行语句的添加方法
利用Excel以及word文档进行操作 将表的字段以及数据全部放入Excel表中并保存. 在word表中将写好的sql语句放入文档,利用邮件--选择收件人--使用现有列表--(选择之前做好的Excel ...