如何使用Django字段选择

如何使用Django字段选择

Django字段选择。根据文档,”字段选择 “是一个序列,其本身由正好是两个项目的迭代器组成(例如:[ (A, B), (A, B) …]),作为某个字段的选择。例如,考虑一个字段semester,它可以有{1,2,3,4,5,6}等选项。Choices将用户的输入限制在models.py中指定的特定值。如果选择被给出,它们会被模型验证所强制执行,默认的表单部件将是一个带有这些选择的选择框,而不是标准的文本字段。选择可以是任何序列对象 – 不一定是一个列表或元组。

每个元组中的第一个元素是要在模型上设置的实际值,第二个元素是人类可读的名称。
例如,

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

让我们在名为geeksforgeeks的django项目中创建一个带有上述学期的选择字段。

from django.db import models
  
# specifying choices
  
SEMESTER_CHOICES = (
    ("1", "1"),
    ("2", "2"),
    ("3", "3"),
    ("4", "4"),
    ("5", "5"),
    ("6", "6"),
    ("7", "7"),
    ("8", "8"),
)
  
# declaring a Student Model
  
class 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元组包含一个值和一个可供人类阅读的选项名称。分组的选项可以和未分组的选项结合在一个列表中(比如本例中的未知选项)。
对于每个设置了选择的模型字段,Django会添加一个方法来检索该字段当前值的可读人名。参见数据库API文档中的get_FOO_display()。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程