模型层

Posted dangjingwei

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了模型层相关的知识,希望对你有一定的参考价值。

一、模型层创建数据库常见字段
#### 常用字段类型
* django所有的数据模型都继承自models.Model
* CharField  max_length   (输入框)
* TextField 没有长度限制的字符串  (文本域)
* DateField 日期
* DateTimeField 日期+时间
* BooleanField 真假
* NullBooleanField Null,真假,
* Integer 整数
* PositiveIntegerField 正整数
* DecimalField  max_digits(几位数) decimal_places(小数点后保留几位)
* ImageField  图片 依赖于 Pillow(处理图片) upload_to=‘upload‘  指定文件上传到目录
* FileField(ImageField继承FileField)
* AutoField
* ForeignKey 1:n
* ManyToManyField n:n
* EmailField 邮箱
* UUIDField 重复的概率非常低基本可以忽略,全世界都不一样的标示,uuid的产生和服务器的环境有关(CPU,网关,) 唯一性的标示,用户模块,订单号
* 不同的字段在后台对应不同的html的组件
ImageField 依赖于Pillow组件(python库)

#### 常用属性
* unique 标示这个字段唯一
* default  默认的意思 ,(如果不写的话就使用默认的值)
* null=True 允许字段为null,(允许数据库为null)数据库层面的
* blank=True 表单阶段的,admin后台的
* auto_now 针对时间的,自动调整当前,(当修改条目的时候,这个时间会自动更新),每次修改都会更新  (修改,保存的时候才会生效,)
* auto_now_add 针对时间的,只添加一次,(创建的时间)

 
### 重点理解属性 ###
* 表单层面的东西(js判断字段是否是"    "),不需要重写迁移数据库
* unique=True  可以任何字段
* default 数据库+表单层面(同时生效)
* auto_now_add 创建的时候会自动的添加时间(数据库),(后台表单层面找不到这个字段)
* auto_now 每次修改的时候自动更新,(数据库+表单层面)
* null=True 数据库层面,允许为Null,不是空字符串
* blank=True 表单层面的,后台选填(表单项元素可以为空,表单不会进行非空校验)
### uuid ###
   uuid.uuid4().get_hex()
二、

以上是关于模型层的主要内容,如果未能解决你的问题,请参考以下文章

iso七层模型

OSI七层模型及TCP/IP四层模型

OSI七层网络模型与TCP/IP四层模型介绍

计算机网络基础

OSI七层模型和TCP/IP四层模型

osi七层模型各层功能都有哪些?