Django笔记 使用QuerySet删除和查询单表

Django笔记 使用QuerySet删除和查询单表,第1张

Django笔记 使用QuerySet删除和查询单表 任务:如何去掉关于路由斜杠的警告
  • 修改主路由和子路由(斜杠加在主路由路径的尾巴上)

  • 运行项目

(一)删除数据

删除数据有3种方式:删除数据表的全部数据、删除一行数据和删除多行数据.

1、删除全部数据:all()与delete()
  • 在终端Shell模式下执行命令:Types.objects.all().delete(),删除全部记录

  • 查看commodity_types表

2、删除一行数据:get()与delete()
  • 导入数据有两种方式:一种是运行SQL脚本,一种是使用loaddata命令

  • 重新导入数据到表:python manage.py loaddata commodity_types_data.json

  • 查看commodity_types表

  • 在终端Shell模式下执行命令:Types.objects.get(id=1).delete(),删除id为1的记录

  • 查看commodity_types表

3、删除多行数据:filter()与delete()
任务:删除全部“儿童用品” (目前只有三条记录满足条件)
  • 在终端Shell模式下执行命令:Types.objects.filter(firsts=‘儿童用品’).delete()

  • 删除了3条记录,查看commodity_types表

4、删除有外键的数据:delete()

删除数据的过程中,如果删除的数据设有外键字段,就会同时删除外键关联的数据。

(1)准备模型和表
在index模块的models.py中定义以下2个模型类


  • 在终端执行数据迁移命令:python manage.py makemigrations

  • 在终端执行数据迁移命令,生成相应的数据表

  • 查看生成的两种表

(2)为index_personinfo准备测试数据

  • 查看index_personinfo表

(3)为index_vocation准备测试数据

(4)级联删除id=1的李红利
  • 执行命令:PersonInfo.objects.get(id=1).delete()
  • 删除成功,总共删除了2条数据,1条是index_personinfo表的记录,1条是index_vocation表的记录。
  • 查看index_personinfo表,“李红利”记录已被删除

  • 查看index_vocation表,级联的记录(外键name_id=1)已被删除

  • 往index_personinfo插入数据

  • 查看index_personinfo表记录

  • 往index_vocation插入数据

  • 查看index_vocation表记录

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5594914.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-15
下一篇 2022-12-15

发表评论

登录后才能评论

评论列表(0条)

保存