-
AutoField:
自动增长的IntegerField,通常不用指定,不指定时Django会自动创建属性名为id的自动增长属性
-
BooleanField:
布尔字段,值为True或False
-
NullBooleanField:
支持Null、True、False三种值
-
CharField(max_length=字符长度):
字符串,参数max_length表示最大字符个数
-
TextField:
大文本字段,一般超过4000个字符时使用
-
IntegerField:
用于保存一个整数
-
PositiveIntegerField:
类似 IntegerField, 但取值范围为非负整数(这个字段应该是允许0值的…可以理解为无符号整数)
-
SmallIntegerField:
类似 IntegerField, 不过只允许某个取值范围内的整数。(依赖数据库)
-
PositiveSmallIntegerField:
正小整型字段,类似 PositiveIntegerField,取值范围较小(数据库相关)SlugField“Slug” 是一个报纸术语
slug 是某个东西的小小标记(短签), 只包含字母,数字,下划线和连字符。它们通常用于URLs。 若你使用 Django 开发版本,你可以指定 maxlength。 若 maxlength 未指定, Django 会使用默认长度: 50,它接受一个额外的参数
-
FloatField:
浮点型字段,必须提供两个参数,参数描述:
max_digits:总位数(不包括小数点和符号)
decimal_places:小数位数。如:要保存最大值为 999 (小数点后保存2位),你
要这样定义字段:models.FloatField(…,max_digits=5,decimal_places=2),要保存最大值一百万(小数点后保存10位)的话,你要这样定义:models.FloatField(…,max_digits=19, decimal_places=10)
-
DateField[auto_now=False, auto_now_add=False]):
日期类型,参数描述:
注意:此类型中不能设置 default 默认值,因为它与auto_now;auto_now_add是互斥的
参数auto_now表示每次保存对象时,自动设置该字段为当前时间,用于”最后一次修改”的时间戳,它总是使用当前日期,默认为false
参数auto_now_add表示当对象第一次被创建时自动设置当前时间,用于创建的时间戳,它总是使用当前日期,默认为false
参数auto_now_add和auto_now是相互排斥的,组合将会发生错误 TimeField:时间,参数同DateField
-
DateTimeField:
日期时间,参数同DateField
注意:此类型中不能设置 default 默认值,因为它与auto_now;auto_now_add是互斥的
-
TimeField:
时间字段,类似于 DateField 和 DateTimeField
-
EmailField:
一个带有检查 Email 合法性的 CharField,不接受 maxlength 参数
-
GenericIPAddressField:
一个字符串形式的 IP 地址, (如 “202.1241.30″)
-
URLField:
用于保存 URL,若 verify_exists 参数为 True (默认),给定的 URL会预先检查是否存在(即URL是否被有效装入且没有返回404响应)
-
XMLField:
XML字符字段,校验值是否为合法XML的 TextField,必须提供参数:schema_path:校验文本的 RelaxNG schema 的文件系统路径
-
FileField:
一个文件上传字段。 要求一个必须有的参数: upload_to, 一个用于保存上载文件的本地文件系统路径
-
FilePathField:
选择指定目录按限制规则选择文件,有三个参数可选,其中”path”必需的,这三个参数可以同时使用,参数描述:
path:必需参数,一个目录的绝对文件系统路径。 FilePathField 据此得到可选项目 Example: “/home/images”;
match:可选参数, 一个正则表达式, 作为一个字符串, FilePathField 将使用它过滤文件名
注意这个正则表达式只会应用到 base filename 而不是路径全名;
Example: “foo。*\。txt^”, 将匹配文件 foo23.txt 却不匹配 bar.txt 或 foo23.gif;
recursive:可选参数, 是否包括 path 下全部子目录,True 或 False,默认值为 False
match 仅应用于 base filename, 而不是路径全名。如:
FilePathField(path=”/home/images”, match=”foo.*”, recursive=True)…会匹配 /home/images/foo.gif 而不匹配 /home/images/foo/bar.gif
-
ImageField:
类似 FileField, 不过要校验上传对象是否是一个合法图片。它有两个可选参数:
height_field 和 width_field,如果提供这两个参数,则图片将按提供的高度和宽度规格保存。
该字段要求 Python Imaging 库