如何在django中的数据库中创建一个只需要从下拉列表中获取少量预定义输入的字段

时间:2016-08-09 02:27:15

标签: python django

我是python和django的新手,我不知道如何缩短我的问题。 我的问题是我在django制作模型。我做了一个班级用户。在该类中,我有一个字符类型名称,整数类型id和整数类型年龄。 我想要一个用户只能从一些预定义输入中选择的字段,例如A,B或C部分。因为这样我就可以轻松地使用表单类将表单呈现到HTML页面而无需任何编码。我知道我可以使用charfield来保存A,B或C,但是有办法做我想要的吗?

1 个答案:

答案 0 :(得分:1)

您可能希望在模型类上使用Field.choices属性。请访问该链接以获得更深入的解释&实例

  

<强> Field.choices

     

可迭代(例如,列表或元组),其由恰好两个项目(例如[(A,B),(A,B)...])的可迭代组成,以用作该字段的选项。如果给出了这个,则默认表单小部件将是一个带有这些选项的选择框,而不是标准文本字段。

所以你可以在你的模型类中使用它:

class myClass(models.Model):
    AVAILABLE_CHOICES = (
        ('a', 'Section A'),
        ('b', 'Section B'),
        ('c', 'Section C'),
    )

    section = models.CharField(max_length=10, choices=AVAILABLE_CHOICES, default='a')
    ...
  

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