django中怎么进行数据的增删改
发表于:2025-12-04 作者:千家信息网编辑
千家信息网最后更新 2025年12月04日,django中怎么进行数据的增删改,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。在 web 开发中,最重要的是数据库的设
千家信息网最后更新 2025年12月04日django中怎么进行数据的增删改
django中怎么进行数据的增删改,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。
在 web 开发中,最重要的是数据库的设计,就是 models 模型设计,简单的web开发说白了就是对数据库的增删改查,今天先看下数据库的增加,修改,和删除吧,我们操作数据库可以使用原生sql语句,但是如果sql的操作语句不复杂,可以使用django 的 ORM 语句,它是通过一些封装,根据 ORM 的语法可以对数据库增删改查,用一同一个 ORM 语句可以支持对 mysql、sqlite、PostgreSQL、Oracle 等数据库增删改操作,兼容性很强。
我现在的model模型是有两个表,一个学生表,一个班级表,代码如下:
class Student(models.Model): # 一定要继承# CharField为字符串类型,必须有max_length设置最大长度,verbose_name在django后台显示该英文字段的中文意思name = models.CharField(max_length=30, verbose_name="学生姓名")# IntegerField整型age = models.IntegerField(default=16, verbose_name="学生年龄")# DecimalField浮点型,max_digits=5表示整数部分和小数位数之和不大于5,decimal_places表示小数的最大位数,# null=True表示字段可以为空,blank=True表示在admin后台中该数据栏可以为空score = models.DecimalField(verbose_name='成绩', max_digits=5, decimal_places=2, null=True, blank=True)## EmailField该字段必须符合邮箱格式email = models.EmailField(verbose_name='邮箱', null=True, blank=True)# TextField 字段位文本类型,长度没有限制introduce = models.TextField(verbose_name="学生自我介绍")# DateTimeField为日期类型,auto_now_add=True该条数据创建的时间,数据更新时,时间数值不变# auto_now=True该条数据创建的时间,数据更新时,时间数值也会改变created_at = models.DateTimeField(auto_now_add=True, verbose_name="创建时间")updated_at = models.DateTimeField(auto_now=True, verbose_name="更新时间")# ForeignKey一对多外键,比如一个班级有多个学生,就属于一对多,外键要放到"多"的那张表,# related_name是对外键取别名,常用在django的orm反向查询中cls = models.ForeignKey('Class', related_name="stu_cls", null=True, on_delete=models.PROTECT)# 下面是django后台字段显示控制class Meta:verbose_name_plural = verbose_name = "学生表"def __str__(self):return self.nameclass Class(models.Model): # 班级表name = models.CharField(verbose_name='班级名称',max_length=10)created_at = models.DateTimeField(auto_now_add=True, verbose_name="创建时间")updated_at = models.DateTimeField(auto_now=True, verbose_name="更新时间")def __str__(self):return self.nameclass Meta:verbose_name = verbose_name_plural = '班级'
然后进行同步数据库操作,在 pycharm 中打开终端(Terminal),在命令行中输入:
下面在一个 views.py 文件中写一个视图函数,使用 ORM 进行基本的增删改操作。记得给函数配置对应的 url。
def orm_test(request): # 新增一个名字为1901的一个班级,create是新增方法,里面可以接受多个字段参数 # Class.objects.create(name="1901") # 同时新增一个学生和班级操作 # 新增一个班级名称为1903的班级,返回一个班级实例 cls_instance = Class.objects.create(name="1903") # stu_info左边的key要和Student模型字段对应上,因为cls是外键,所以要对应一个班级的实例 stu_info = { "name":"静静", "age": "18", "score":"67.50", "email": "123@qq.com", "introduce": "我是静静", "cls": cls_instance } Student.objects.create(**stu_info) # 将名字为1901的班级名称改为1901_xiu,filter为过滤,支持多个参数,update是更新方法,支持多个参数 # Class.objects.filter(name="1901").update(name="1901_xiu") # 将名字为1901_xiu的班级删除掉,delete是删除方法 # Class.objects.filter(name="1901_xiu").delete()看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注行业资讯频道,感谢您对的支持。
数据
班级
时间
字段
学生
数据库
更新
多个
语句
支持
参数
名字
名称
后台
方法
模型
类型
最大
静静
位数
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
向esb发送和接收数据库
食药局网络安全防护措施
ibm226 服务器 改 硬盘
延边州网络安全责任制实施细则
多媒体教学软件开发的第一步
网络安全的发展和现状
网络安全申论怎么写
数据库sql自增序列
爱迪尔门锁软件怎么连数据库
肝癌基因突变数据库
天津网络安全管理中心
微信云开发数据库数据加密
上海初梦网络技术有限公司
泰拉瑞亚1.4好玩的服务器
厦门亿联网络技术
山西java软件开发it技术
数字证书无法连接svs服务器
web服务器安全防御
自学网络技术
美国艾西格网络安全
数据库彩灯元件
装网络安全期合法吗
服务器ip地址设置多少合适
网络技术对备课的作用
转基因食品安全检测数据库
信宜佳峰网络技术公司
服务器驱动装不了
互联网 科技计划项目
我的世界樱海服务器怎么进入
东北大学的软件开发怎么样