django中怎么进行数据的增删改
发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,django中怎么进行数据的增删改,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。在 web 开发中,最重要的是数据库的设
千家信息网最后更新 2026年11月01日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安全错误
数据库的锁怎样保障安全
天津市摩尔互联网科技
科技互联网产品
科技企业和互联网企业
重庆互联网络科技
奇酷互联网科技
苏州互联网科技贷款公司
天津摩尔互联网科技
互联网金融科技平台
丰台科技园 互联网
互联网科技网站
汉立互联网科技有限公司联系电话
互联网为啥属于高科技
工业互联网等科技实现智能化赋能
滨湖区互联网智能科技产品有哪些
黑科技 体验场景 互联网大会
电子商务与互联网科技的关系
互联网科技包装股份有限公司上市
昆明中奇联合互联网科技
北京军民互联网科技公司
广西泛欧互联网科技有限公司
花魁咖啡
西安纸贵互联网科技有限公司
互联网和科技创新
电子科技大学互联网
中国互联网金融科技基金
互联网为啥属于高科技
互联网保险科技创业
浙南科技城互联网大厦建设工程
互联网科技和法律行业
科技互联网行业投资研究