Django-使用QuerySet新增和更改数据

本文介绍了在Django中通过shell模式使用QuerySet进行数据操作,包括新增数据的各种方法如实例化-save、create、get_or_create、update_or_create及bulk_create,以及更新数据的方法如get-修改-save、filter-update、dict-filter-update和bulk_update。

目录

(一)shell模式新增数据

1、进入shell模式

(1)安装ipython

(2)进入shell模式 

 2、新增数据

(1)使用实例化-save新增数据

(2)使用create新增数据

(3)使用字典与create方法 

 (4)使用实例化赋值

(5)使用get_or_create新增无重数据

 (6)使用update_or_create新增或更新数据

 (7)使用bulk_create批处理添加数据

(7)退出shell模式

(二)shell模式更新数据

1、进入shell模式

 2、更新数据

(1)使用get-修改-save方式

(2)使用filter-update方法批量更新一条或多条数据

(3)使用dict-filter-update字典格式

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

(5)使用bulk_update批量更新数据


(一)shell模式新增数据

1、进入shell模式

  • 进入shell模式之前,先进行数据的迁移

      python manage.py migrate

  •  刷新之后babies数据库中出现一些新的表,表示迁移成功

  • 在表中添加一些记录,后续都会在此表中进行操作

(1)安装ipython

  • 注:

            出现这种代码表示pip版本过低,使用命令升级python -m pip --upgrade pip

升级成功

  •  升级成功后继续使用命令安装ipython

(2)进入shell模式 

        python manage.py shell

 2、新增数据

(1)使用实例化-save新增数据

  • 新增数据步骤:导入模型 —— 实例化 —— 属性赋值 —— 调用save()方法保存数据 

  • commodity_types数据表,新增一条记录 ,执行成功 

(2)使用create新增数据

  •  执行命令:t=Types.objects.create(firsts='儿童用品',seconds='婴儿车')

  •  commodity_types数据表,新增一条记录 ,执行成功 

(3)使用字典与create方法 

  •  commodity_types数据表,新增一条记录 ,执行成功 

 (4)使用实例化赋值

  • 调用有参构造方法实例化:t=Types(firsts='早教产品',seconds='格林童话') 

  • commodity_types数据表,新增一条记录 ,执行成功

(5)使用get_or_create新增无重数据

 无重复,添加成功

再次添加有重复,添加失败

  • commodity_types数据表,新增一条记录 ,执行成功

 (6)使用update_or_create新增或更新数据

  •  第一次新增数据

  •  commodity_types数据表,新增一条记录 ,执行成功

  • 第二次修改数据

 添加数据失败,进行了数据更新

 

 (7)使用bulk_create批处理添加数据

 

  •   commodity_types数据表,新增三条记录 ,执行成功

(7)退出shell模式

(二)shell模式更新数据

1、进入shell模式

 2、更新数据

(1)使用get-修改-save方式

  • commodity_types数据表,数据修改 ,执行成功

(2)使用filter-update方法批量更新一条或多条数据

  •  commodity_types数据表,2条数据修改 ,执行成功

(3)使用dict-filter-update字典格式

  • commodity_types数据表,数据修改 ,执行成功

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

  •  commodity_types数据表,数据修改 ,执行成功

  • 查询全部表记录(filter方法不带参数即可)

(5)使用bulk_update批量更新数据

 

  •   commodity_types数据表,3条数据修改 ,执行成功

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值