django 会根据在模型类中定义的字段属性来确定以下几点工作
数据库中使用的数据类型
模型类对应的表单类渲染时使用的表单类型及HTML部件
必填字段等最低限度的验证要求检查,包括admin界面下自动生成的表单
BooleanField
choices一个二元组的列表或者元组;
元组中第一个值为真正在数据库中储存的值,第二个值为改选项的描述
改值一旦被设定,表单样式会显示选择框,而不是标准的文本框,选择框内的选项为为choices中的元组
class TestTable(models.Model):
CHAR_CHOICE= [
('H',"非常辛苦"),
('M',"中等难度"),
('s',"非常简单),
]
choicechar = modesl.CharField(max_length=1,choices=CHAR_CHOICE)
choices字段也支持分类的写法
uniqueCHAR_CHOICE = [
('A',
(
('H',"Hard"),
)
),
('B',
(
('M',"Medium"),
)
),
…
]
如果该值为True,代表这个数据在当前的表中有唯一值
这个字段还会在模型层验证存储的数据是否唯一
unique的设置也意味着当前字段唯一索引的创建
注意:manyToManyField.OneToOneField与FileField字段不可以使用改属性



