栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

讲课笔记09:使用QuerySet新增和更新数据

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

讲课笔记09:使用QuerySet新增和更新数据

使用QuerySet新增和更新数据
  • (一)Shell模式新增数据
    • 1、使用实例化 - 赋值 - save新增数据
    • 2. 使用create新增数据
    • 3、使用字典与create新增数据
    • 4. 使用实例化赋值 - save新增数据
    • 5.使用get_or_create新增无重数据
    • 6. 使用get_or_create新增无重数据
    • 7、使用bulk_create批处理添加数据
  • (二)Shell模式更新数据
    • 1、使用get - 修改 - save方式
    • 2、使用filter - update方式
    • 3、使用dict - filter - update方式
    • 4、使用update方式实现全表更新
    • 5、 使用内置F方法实现数据的自增或自减
    • 6、使用bulk_update方式批量更新数据

(一)Shell模式新增数据

在PyCharm的Terminal下开启Shell模式,输入python manage.py shell指令即可,如下图所示

如果Shell模式示符是“>>>”需要安装shell
pip install ipython

此时,再进入Shell模式出现


安装完成!

1、使用实例化 - 赋值 - save新增数据

在Shell模式下,若想对数据表commodity_types新增数据,则可输入以下代码实现


新增数据步骤:导入模型 —— 实例化 —— 属性赋值 —— 调用save()方法保存数据
查看commodity_types数据表,看是否新增一条记录

2. 使用create新增数据


查看commodity_types数据表,看是否新增一条记录

3、使用字典与create新增数据


查看commodity_types数据表,看是否新增一条记录

4. 使用实例化赋值 - save新增数据


查看commodity_types数据表,看是否新增一条记录

5.使用get_or_create新增无重数据

在执行数据新增时,为了保证数据的有效性,我们需要对数据进行去重判断,确保数据不会重复新增。以往的方案都是对数据表进行查询操作,如果查询的数据不存在,就执行数据新增操作。为了简化这一过程,Django提供了get_or_create方法。

查看commodity_types数据表,看是否新增一条记录

6. 使用get_or_create新增无重数据

update_or_create是根据字典d的内容查找数据表的数据,如果能找到相匹配的数据,就执行数据修改,修改内容以字典格式传递给参数defaults即可;如果在数据表找不到匹配的数据,就将字典d的数据新增到数据表里。

第一次是新增数据

查看commodity_types数据表,看是否新增一条记录

7、使用bulk_create批处理添加数据

在使用bulk_create之前,数据类型为模型Types的实例化对象,并且在实例化过程中设置每个字段的值,最后将所有实例化对象放置在列表或元组里,以参数的形式传递给bulk_create,从而实现数据的批量新增操作


查看commodity_types数据表

使用退出Shell模式

(二)Shell模式更新数据 1、使用get - 修改 - save方式

更新数据的步骤与数据新增的步骤大致相同,唯一的区别在于数据对象来自数据表,因此需要执行一次数据查询,查询结果以对象的形式表示,并将对象的属性进行赋值处理,代码如下:

打开数据表commodity_types查看数据修改情况

2、使用filter - update方式

批量更新一条或多条数据,查询方法使用filter,filter以列表格式返回,查询结果可能是一条或多条数据

打开数据表commodity_types查看数据修改情况

3、使用dict - filter - update方式

更新数据以字典格式表示

打开数据表commodity_types查看数据修改情况

4、使用update方式实现全表更新


打开数据表commodity_types查看数据修改情况

5、 使用内置F方法实现数据的自增或自减

将id字段原有的数据自增加12,自增或自减的字段必须为数字类型

打开数据表commodity_types查看数据修改情况

6、使用bulk_update方式批量更新数据

在Django 2.2或以上版本新增了数据批量更新方法bulk_update,它的使用与批量新增方法bulk_create相似

打开数据表commodity_types查看数据修改情况

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/942811.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号