<>ORM增删改查

添加的俩种方式

* save()
* 通过模型类保存

注意:添加有外键的信息操作如下: herozhu = HeroInfo.objects.create( hname = "猪八戒", hgender = 0,
hdesc= 'houhouhou', hbook = book ) herosha = HeroInfo.objects.create( hname =
"沙悟净", hgender = 1, hdesc = '呵呵', hbook = book )

修改数据
修改更新有两种方法
1) 修改模型类对象的属性,然后执行save()方法

2)使用模型类.objects.filter().update(),会返回受影响的行数

此时数据库内容都修改成功

删除数据
删除有俩种方法
1)模型类对象delete

此时数据库内容:

2)模型类.objects.filter().delete()

此时数据库内容:

基本查询
使用方法:
get:查询单一结果,如果不存在会抛出DoesNotExist异常,如果存在多个结果会报MultipleObjectsReturned异常 all
:查询多个结果 count:查询结果数量

过滤查询
查询的时候 __ (双下划线)表示判断

* filter:过滤出多个结果
* exclude:排除掉符合条件剩下的结果
* get:过滤单一结果
* exact:表示判断相等
* contains:表示是否包含
* startswith和endswith:以指定开头或者结尾
* isnull:是否为null
* exclude:过滤器
* in:是否包含在范围内
* gt:大于
* gte:大于等于
* lt:小于
* lte:小于等于

F和Q对象
1)F:
之前的查询都是对象的属性与常量值比较,两个属性怎么比较呢? 答:使用F对象,被定义在django.db.models中。
语法:F(属性名) 导包:from django.db.models import F,Q

2)Q:

多个过滤器逐个调用表示逻辑与关系,同sql语句中where部分的and关键字。
实现mysql里的not and or

聚合函数和排序函数
1)聚合函数:

使用aggregate()过滤器调用聚合函数。聚合函数包括:Avg平均,Count数量,Max最大,Min最小,Sum求和,被定义在django.db.models中。

排序:
使用order_by对结果进行排序

技术
©2019-2020 Toolsou All rights reserved,
程序员的520,送给女友的几行漂亮的代码(python版)基于stm32控制四轮小车电机驱动(一)linux查看磁盘空间命令实验四 自动化测试工具-软件测试axios拦截器封装与使用C语言——qsort函数opencv-python傅里叶变换以及逆变换在算法研究过程中如何进行算法创新nc的安装和简单操作C语言做一个简易的登陆验证(功能)界面