Django学习——django ORM、orm实操、字段的增删改查、数据的增删改查
2022/4/27 23:43:25
本文主要是介绍Django学习——django ORM、orm实操、字段的增删改查、数据的增删改查,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
django orm
""" orm:对象关系映射 """ orm目的就是为了能够让不懂SQL语句的人通过python面向对象的知识点也能够轻松自如的操作数据库 面向对象的类 》》》 表 对象 》》》 表里面的数据 对象点属性 》》》 字段对应的值 # 缺陷: sql 封装死了 有时候查询速度很慢
orm实操
1.我们的模型类需要写在应用下的models.py文件中 class User(models.Model): # id int primary key auto_increment id = models.AutoField(primary_key=True) # name varchar(32) name = models.CharField(max_length=32) # CharField必须要加max_length参数 # age int age = models.IntegerField() ************************************************************************************************* 2.数据库迁移命令 1.将数据库修改操作先记录到小本本上(对应应用下的migrations文件夹) python3 manage.py makemigrations D:\mysite1>python manage.py makemigrations Migrations for 'app01': app01\migrations\0001_initial.py - Create model User 2.真正的执行数据库迁移操作 python3 manage.py migrate 第一次执行数据库迁移命令Django默认需要创建依赖表 表名自动加前缀 目的是为了避免多个应用出现表名冲突的情况发生 # 只要动了models.py中跟数据库相关的代码就必须重新执行上述两条命令 ************************************************************************************************** 3.针对主键字段 class User1(models.Model): # 如果你不指定主键 那么orm会自动帮你创建一个名为id的主键字段 # 如果你想让主键字段名不叫id 叫uid、sid、pid等需要自己手动指定 username = models.CharField(max_length=32)
字段的增删改查
# 增 pwd = models.IntegerField('密码', null=True) # 该字段可以为空 is_delete = models.IntegerField(default=0) # 默认值 # 改 直接改代码然后执行数据库迁移命令即可 # 删 注释掉代码然后执行数据库迁移命令即可
数据的增删改查
# 1.查询数据 # select * from user where name=username and pwd=password; # res = models.User.objects.filter(name=username) # <QuerySet [<User: User object>]> 列表套数据对象 user_obj = models.User.objects.filter(name=username,pwd=password).first() # <QuerySet [<User: User object>]> 列表套数据对象 # user_obj = res[0] # 2.添加数据 # insert into user(name,pwd) values(username,password); models.User.objects.create(name=username,pwd=password) # 3.查询所有的数据 # select * from user; 作了分页处理 user_data = models.User.objects.all() # [obj1,obj2,obj3,obj4] return render(request, 'home.html',{'user_data':user_data}) # 4.修改数据 models.User.objects.filter(id=edit_id).update(name=username,pwd=password) # 第二种修改方式 edit_obj.name = username edit_obj.pwd = password edit_obj.save() # 5.删除数据 models.User.objects.filter(id=delete_id).delete()
越往后学越简单 只不过过程是复杂的
这篇关于Django学习——django ORM、orm实操、字段的增删改查、数据的增删改查的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-12-24MongoDB资料:新手入门完全指南
- 2024-12-20go-zero 框架的 RPC 服务 启动start和停止 底层是怎么实现的?-icode9专业技术文章分享
- 2024-12-19Go-Zero 框架的 RPC 服务启动和停止的基本机制和过程是怎么实现的?-icode9专业技术文章分享
- 2024-12-18怎么在golang中使用gRPC测试mock数据?-icode9专业技术文章分享
- 2024-12-15掌握PageRank算法核心!你离Google优化高手只差一步!
- 2024-12-15GORM 中的标签 gorm:"index"是什么?-icode9专业技术文章分享
- 2024-12-11怎么在 Go 语言中获取 Open vSwitch (OVS) 的桥接信息(Bridge)?-icode9专业技术文章分享
- 2024-12-11怎么用Go 语言的库来与 Open vSwitch 进行交互?-icode9专业技术文章分享
- 2024-12-11怎么在 go-zero 项目中发送阿里云短信?-icode9专业技术文章分享
- 2024-12-11怎么使用阿里云 Go SDK (alibaba-cloud-sdk-go) 发送短信?-icode9专业技术文章分享