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方法即可

 删除、修改的操作的前置条件都是基于查询后,再去做相关的变更操作

 

 

 

 

 

 

 

  

 

posted @   夏大帅  阅读(137)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
点击右上角即可分享
微信分享提示