文章目录
4、以字典列表形式查询某个字段数据:values() - 投影运算
(一)删除数据
- 删除数据有3种方式:删除数据表的全部数据、删除一行数据和删除多行数据.
1、删除全部数据:all()与delete()
- 查看commodity_types表(13条记录)
- 导出数据库脚本 - babies.sql
- 在终端Shell模式下执行命令:
Types.objects.all().delete()
,删除全部记录
2、删除一行数据:get()与delete()
- 在终端Shell模式下执行命令:
Types.objects.get(id=1).delete()
,删除id为1的记录
3、删除多行数据:filter()与delete()
- 任务:删除全部“儿童用品” (满足条件)
- 在终端Shell模式下执行命令:
Types.objects.filter(firsts='儿童用品').delete()
,
- 删除了1条记录,查看commodity_types表
4、删除有外键的数据:delete()
删除数据的过程中,如果删除的数据设有外键字段,就会同时删除外键关联的数据。
(1)准备模型和表
- 在index模块的models.py中定义以下2个模型类
第22行定义了name为外键,关联的是PeronInfo对象,而且是级联删除。从模型 Vocation 得知,外键字段的参数 on_delete 用于设置数据删除模式,比如模型 Vocation
的外键字段name设为CASCADE模式,不同的删除模式会影响数据删除结果,说明如下:
– PROTECT 模式:如果删除的数据设有外键字段并且关联其他数据表的数据,就提示数据删除失败。
– SET_NULL模式:执行数据删除并把其他数据表的外键字段设为Null,外键字段必须将属性 Null 设为 True,否则提示异常。
– SET_DEFAULT 模式:执行数据删除并把其他数据表的外键字段设为默认值。
– SET 模式:执行数据删除并把其他数据表的外键字段关联其他数据。
–