模型字段
序列本身由正好两个项目的迭代项组成(例如,[(A,B),(A,C)…]),作为该字段的选择。如果给出了选择,它们将通过模型验证来执行。默认表单部分将是包含这些选项的选择框,而不是标准文本字段。
每个元组中的第一个元素是要在模型上设置的实际值,第二个元素是人类可读的名称。例如:
YEAR_IN_SCHOOL_CHOICES = [
('FR', 'Freshman'),
('SO', 'Sophomore'),
('JR', 'Junior'),
('SR', 'Senior'),
('GR', 'Graduate'),
]
尽管可以在模型类外部定义选择列表,然后引用它,但在模型类中定义选择和每个选择的名称可以在使用它的类中保留所有这些信息,并帮助引用这些选择(例如,Student.SOPHOMORE将在导入学生模型的任何位置工作)。
还可以将可用的选项收集到可用于组织目的的命名组中:
from django.db import models
class Student(models.Model):
FRESHMAN = 'FR'
SOPHOMORE = 'SO'
JUNIOR = 'JR'