Django基础篇--Models
在Django中创建与数据库的链接并调用数据库的数据是很关键的步骤,那么怎么实现这个过程呢? 下面这篇文章简单梳理了一下创建Model层的过程和应用 模型-Models 首先需要理解什么是模型? ?模型,根据数据库中数据表中数据表的结构而创建出来的class 1. 创建和使用模型的方法 ?1)创建数据库需要到数据库中手动创建???? create? database? … ?2) 配置????? setting.py中配置 ??DATABASES ={ ‘default’:{ ‘ENGINE’: ‘NAME’:}, } ?参数的解析: 1. ENGINE: 引擎????? django.db.backends.mysql 2. NAME :连接到的数据库名称?????? web.db 3.USER: 用户名称 ,通常为root 4. PASSWORD: 密码 5. HOST : 连接的主机,本机localhost/127.0.0.1/可以不写 6. PORT :端口,3306 例如下面这张图: 在做数据库集群的时候如果要连接多个数据库,可以在写default后面再添加一个字典类型的key-value对, key的名称可以自己定义。 2. 如何编写Models 首先需要理解两个概念,实体类和实体 ? 1)实体类 ?? Models中每个class都称之为模型类(Model)或者实体类(Entry) ?? Models中的每个实体类,必须继承自models.Model(原生类是没有models的操作的) ? 2)实体: ? ??数据表中的一行记录,就是一个实体。 ??? 实体完整性:确保每张表中的数据不能有重复。 ? ??? 主键是为了实现实体完整性的方法之一。 3.Django中提供的数据字段 和 字段选项 ?这里只写一些比较常用的,更多详细的用法细节可以移步到官网 : 在Documentaiton栏目中相应找到 The? model? layer? 1. 数据字段 ?? 1) CharField() ? ? ? ? ? ? 字符串, 属性值max_length必须要写,表明字符串长度,相当于原生MySQL中的char() ?? 2) BooleanField()??? ??? 布尔值,True或者False ?? 3) DataField()???????? ? ?? 时间,只有日期,不带时间点,例如:2018-1-1 ?? 4) DateTimeField()????? 时间,带时间点,例如:2018-1-1 12:00:00 ?? 5) DecimalField()?????? ? 带小数点的定点数,可以用于与金融或者数字有关的字段 ?? 6) EmailField()??????????? Email类型 ?? 7) URLField()??? ? ? ? ?? URL类型,在数据库中会转换为固定长度(200)字符串 ?? 8) FileField()????????????? 文件类型 ?? 9) IntergerField()??????? 整型数 ?? 10) FloatField()????????? 浮点数 ?? 11) ImageField()??????? 图片,一般在实际应用中存放图片的地址 ?? 12) TextField()??????? ?? 文本 ?? ? 2. 字段选项 ?? 1) null?????????????????????? 是否允许为空,赋值True或者False,例如:name =? models.Char(max_length= 10,null = False) ?? 2) blank??????????????????? 是否为空格 ?? 3) choices????????? ?? 4)db_column ? ? ? ? ? 属性名,例如:db_column = ' music_name ' ?? 5)db_index? ? ? ? ? ? ? 索引,为该字段设置索引 ?? 6) default??????????????? 默认值,例如:password = models.Char(max_length= 10,defalut = '123456') ?? 7) primary_key ? ? ? 主键,值为True/False,默认为False(不设置为主键) (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |