如何使用Django Field Choices()

Django领域选择。根据文档, “ 字段选择” 是由两个项目的可迭代项组成的序列(例如[(A, B), (A, B)…])用作某些领域的选择。例如, 考虑一个字段学期, 该字段只能有{1, 2, 3, 4, 5, 6}个选项。选择将来自用户的输入限制为在中指定的特定值models.py。如果给出选择, 则由模型验证默认表单窗口小部件将是带有这些选择的选择框, 而不是标准文本字段。选择可以是任何序列对象-不一定是列表或元组。
每个元组中的第一个元素是要在模型上设置的实际值, 第二个元素是人类可读的名称。
例如,

SEMESTER_CHOICES = ( ("1", "1"), ("2", "2"), ("3", "3"), ("4", "4"), ("5", "5"), ("6", "6"), ("7", "7"), ("8", "8"), )

让我们在名为srcmini的django项目中创建一个以上学期的Choices字段。
from django.db import models# specifying choicesSEMESTER_CHOICES = ( ( "1" , "1" ), ( "2" , "2" ), ( "3" , "3" ), ( "4" , "4" ), ( "5" , "5" ), ( "6" , "6" ), ( "7" , "7" ), ( "8" , "8" ), )# declaring a Student Modelclass Student(models.Model): semester = models.CharField( max_length = 20 , choices = SEMESTER_CHOICES, default = '1' )

让我们在管理面板中查看如何创建学期。
如何使用Django Field Choices()

文章图片
你还可以将可用的选择收集到命名组中, 以用于组织目的:
MEDIA_CHOICES = [ ('Audio', ( ('vinyl', 'Vinyl'), ('cd', 'CD'), ) ), ('Video', ( ('vhs', 'VHS Tape'), ('dvd', 'DVD'), ) ), ('unknown', 'Unknown'), ]

每个元组中的第一个元素是应用于组的名称。第二个元素是2元组的可迭代对象, 每个2元组包含一个值和一个选项的易于理解的名称。可以在单个列表中将分组的选项与未分组的选项组合在一起(例如本示例中的unknown选项)。
对于每个设置了选项的模型字段, Django都会添加一个方法来检索该字段当前值的可读名称。看到
get_FOO_display()
在数据库API文档中。
【如何使用Django Field Choices()】首先, 你的面试准备可通过以下方式增强你的数据结构概念:Python DS课程。

    推荐阅读