如何理解djang中模型字段认识

发布时间:2021-10-21 15:12:46 作者:柒染
来源:亿速云 阅读:95

本篇文章为大家展示了如何理解djang中模型字段认识,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。

model(模型) 是学习 django 最重要的知识,模型设计的好坏直接影响到你后期的开发,模型的设计只能靠自身经验提高。模型准确且唯一的描述了数据,包含您储存的数据的重要字段和行为。比如一个学生系统需要展示学生的姓名、年龄、分数成绩等信息,这些数据就要保存到数据库中。

我前面说过,简单点的 web 开发就是对数据库进行增删改查操作,查询数据,新增数据,修改数据,删除数据 。当你定义好的模型信息,执行  python manager.py makemigtations 会自动生成数据库同步脚本,模型字段和数据库表生成映射关系(这个时候并没有操作数据库),执行 python manager.py migrate 后会自动执行数据库同步脚本,对数据库表结构进行更改操作。

每个模型都是一个 Python 的类,这些类继承 django.db.models.Model

模型类的每个属性都相当于一个数据库的字段。利用这些,Django 提供了一个自动生成访问数据库的 API,django 可以使用 ORM 操作数据库,就算你不熟悉 SQL 语法,也能很熟练的操作数据库,而且就算你后期换了数据库,项目中的关于数据库操作的代码不用更改。

假如,你要给一张表的每列字段设置字符类型,比如有的字段是char类型,有的是int类型,django中的模型字段类型的作用就是上面提到的设置数据表的数据类型。常见的有 字符串类型 CharField 、文本类型 TextField、整型  IntegerField、浮点型 DecimalField 、日期类型 DateTimeField,表示两张表的外键关系 ForeignKey(一对多)一个班级有多个学生,多对多是 ManyToManyField。

以学生表(Student),班级表(Class)表为例,一个班级有多个学生,详细的字段解释见下图:

如何理解djang中模型字段认识

# CharField为字符串类型,必须有max_length设置最大长度,verbose_name在django后 台显示该英文字段的中文意思
# IntegerField整型
# DecimalField浮点型,max_digits=5表示整数部分和小数位数之和不大于5,decimal_places表示小数的最大位数,null=True表示字段可以为空,blank=True表示在admin后台中该数据栏可以为空
# EmailField该字段必须符合邮箱格式
# TextField 字段为文本类型,长度没有限制
# DateTimeField为日期类型,auto_now_add=True该条数据创建的时间,数据更新时,时间数值不变
# auto_now=True该条数据创建的时间,数据更新时,时间数值也会改变
# ForeignKey一对多外键,第一个参数位你要关联的数据表,比如一个班级有多个学生,就属于一对多,外键要放到"多"的那张表,related_name是对外键取别名,常用在django的orm反向查询中使用

上述内容就是如何理解djang中模型字段认识,你们学到知识或技能了吗?如果还想学到更多技能或者丰富自己的知识储备,欢迎关注亿速云行业资讯频道。

推荐阅读:
  1. OSI模型的理解
  2. 教你认识OSI七层模型

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

django

上一篇:如何使用css代码规范

下一篇:js构造继承的缺点有哪些

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》