我是python和django的新手,我不知道如何缩短我的问题。 我的问题是我在django制作模型。我做了一个班级用户。在该类中,我有一个字符类型名称,整数类型id和整数类型年龄。 我想要一个用户只能从一些预定义输入中选择的字段,例如A,B或C部分。因为这样我就可以轻松地使用表单类将表单呈现到HTML页面而无需任何编码。我知道我可以使用charfield来保存A,B或C,但是有办法做我想要的吗?
答案 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')
...
每个元组中的第一个元素是要在模型上设置的实际值,第二个元素是人类可读的名称。