Django--(2)模型(Model)属性与参数整理

模型

模型类属性命名限制:

  1. 不能是python的保留关键字
  2. 不能使用连续的下划线. 这是由django的查询方式决定的
  3. 定义属性时需要指定字段类型. 通过字段类型的参数指定选项. 语法如下:属性名=models.字段类型(选项)

文件app/models.py 模板格式

from django.db import models
class ModelName(models.Model):  # 模型类
	Field1 = models.XXXField(...)
	Field2 = models.XXXField(...)
	...
	class Meta:  #元选项
		db_table = ...
		other_metas = ...

模型类

每个模型类都可以被映射为数据库中的一个数据表,类类属性被映射为数据字段,除此之外,数据库表的主键、外键、约束等也通过类属性完成定义

模型类属性

属性 描述
AutoField 一个自动递增的整型字段,添加记录时会自动增长
AutoField 字段通常会用于充当数据表的主键
若模型没有指定主键字段,则Django 自动添加一个 AutoField字段
IntegerField 用于保存一个整数
SmallIntegerField 类似于 IntegerField
但只具有较小的输入范围,具体范围依赖于所使用的数据库
BigIntegerField 64位整型字段
BinaryField 二进制数据字段
只能通过 types 对其赋值
FloatField 浮点型字段
定义本字段时必须传入 max_digitsdecimal_places 参数
用于定义总位数(不包括小数点和符号)和小数位数
DecimalField 十进制浮点数
max_digits参数表示总位
decimal_places 参数表示小数位数
CommaSeparatedIntegerField 用于存放逗号分隔的整数值
相较与普通的 CharField, 它有特殊的表单数据验证要求
DurationField 存储时间周期,
用 Python 的 timedelta 类型构建
EmailField 一个带检查 Email 合法性的CharField
FileField 一个文件上传字段
在定义本字段时传入参数 upload_to,用于保存上载文件的服务器文件系统路径
这个路径必须 包含 striftime formatting, 该格式将上载 文件的 date/time 替换
FilePathField 按目录限制规则选择文件
定义本字段必须传入参数 path ,用于限制目录
ImageField 类似于 FileField,同时验证上传对象是否是一个合法的图片
有两个可选参数 height_fieldwidth_field
如果提供这两个参数,则图片将按照提供的高度和宽度规格保存
该字段要求安装 Python Imaging 库
IPAddressField 一个字符串形式的IP地址
例如: 192.23.250.2
NullBooleanField 类似于 BooleanField, 但比其多一个None选项
PhoneNumberField 带有美国风格的电话号码校验的 CharField
格式为 XXX-XXX-XXXX
SlugField 只包含字母、数字、下划线和连字符的输入字段
通常用于URL
URL 用于保存URL
USStateField 美国州名的缩写字段,由两个字母组成
XMLField XML字段
是具有XML合法验证的TextField
属性 描述 相对应的HTML标签
BooleanField 布尔字段
CharField 字符串字段,用于较短的字符串 单行输入
TextField 大容量文本字段 多行编辑框