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

Python 如何在django中的数据库中创建一个只从下拉列表中获取少量预定义输入的字段,python,django,Python,Django,我是python和django新手,不知道如何缩短我的问题。 我的问题是我在django做模型。我做了一个类用户。在该类中,我有一个字符类型名称、整数类型id和整数类型年龄。 我想要一个用户只能从几个预定义输入中选择的字段,比如a、B或C部分。因为这样我就可以轻松地使用form类将表单呈现到HTML页面,而无需任何编码。我知道我可以使用charfield来保存a、B或C,但是有没有办法做到我想要的呢 您可能希望在模型类上使用属性。请访问链接以获得更深入的解释和示例 字段。选项 一种iterabl

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

您可能希望在模型类上使用属性。请访问链接以获得更深入的解释和示例

字段。选项

一种iterable(如列表或元组),由正好两个项(如[(a,B),(a,B)…])的iterable组成,用作此字段的选项。如果给定此选项,则默认表单小部件将是一个包含这些选项的选择框,而不是标准文本字段

因此,您可以在模型类中这样使用它:

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')
    ...
每个元组中的第一个元素是要在模型上设置的实际值,第二个元素是人类可读的名称