个性化阅读
专注于IT技术分析

如何使用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 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元组包含一个值和一个选项的易于理解的名称。可以在单个列表中将分组的选项与未分组的选项组合在一起(例如本示例中的unknown选项)。

对于每个设置了选项的模型字段, Django都会添加一个方法来检索该字段当前值的可读名称。看到

get_FOO_display()

在数据库API文档中。

首先, 你的面试准备可通过以下方式增强你的数据结构概念:Python DS课程。


赞(0) 打赏
未经允许不得转载:srcmini » 如何使用Django Field Choices?
分享到: 更多 (0)

评论 抢沙发

评论前必须登录!

 

觉得文章有用就打赏一下文章作者

微信扫一扫打赏