Django ORM模型增删改查
Django作为python主流开发框架之一,如何实现在终端对数据进行增删改查
--ORM模型
先在终端进入shell交互模式,在项目的根目录输入:
1、python manage.py shell --进入shell交互模式
2、from xds.models import Pera --从app中的模型导入类名 (Pera = 表名)
3、增加数据:Pera.objects.create('需增加的数据')
1 2 3 4 5 | >>> Pera.objects.create(uid = 11 ,name = 'hangzhou' ,age = 60 ) <Pera: Pera object ( 11 )> >>> Pera.objects.create(uid = 12 ,name = 'beijing' ,age = 70 ) <Pera: Pera object ( 12 )> 会返回一个 object 的对象 |
数据库中此时新增两条数据
4、查询数据:get的方法和filter方法
get方法:get方法的弊端:在查询的属性存在多个或者查询不到的时候会抛出异常,只适用单条数据的查询。
1 2 3 4 5 6 7 | >>> a = Pera.objects.get(uid = 11 ) >>> a <Pera: Pera object ( 11 )> - - 返回的是个 object 对象 >>> a.uid 11 >>> a.name 'hangzhou' |
1 | 再去通过a来查询其他属性值 |
filter方法:能同时查询多条相同的数据
1 2 3 | >>> b = Pera.objects. filter (name = 'changsha' ) >>> b <QuerySet [<Pera: Pera object ( 4 )>, <Pera: Pera object ( 5 )>]> - - 返回的是一个QuerySet对象,两条数据>>> |
5、修改数据
返回object对象修改数据方式:
1 2 3 4 5 | >>> a = Pera.objects.get(uid = 11 ) >>> a <Pera: Pera object ( 11 )> >>> a.name = 'update' >>> a.save() - - object 对象修改数据后必须要save 才能更新数据库内的数据 |
返回QuerySet对象修改数据有一个update的方法 --只有返回QuerySet对象有此方法,object对象没有update的方法
1 2 3 4 5 | >>> b = Pera.objects. filter (name = 'changsha' ) >>> b <QuerySet [<Pera: Pera object ( 4 )>, <Pera: Pera object ( 5 )>]> >>> b.update(name = 'QuerySet' ) - - 修改后不需要save 2 |
6、删除 delete
1 2 | >>> a.delete() ( 1 , { 'xds.Pera' : 1 }) - - 通过返回的 object 对象调用delete方法即可 |
删除、修改的操作的前置条件都是基于查询后,再去做相关的变更操作
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix