Django - 使用单选按钮或下拉列表进行输入

时间:2013-07-10 18:04:15

标签: django django-admin

我制作了这样的模型:

class Enduser(models.Model):
    user_type = models.CharField(max_length = 10)

现在我希望user_type只有一个给定的值,比如['master', 'experienced', 'noob']中的任何一个

我可以用Django做到这一点吗?

另外,如何显示单选按钮列表或下拉列表/选择菜单以选择其中一个值?

2 个答案:

答案 0 :(得分:2)

您可以利用choices的{​​{1}}属性:

CharField

这将在db中保存值class Enduser(models.Model): CHOICES = ( (u'1',u'master'), (u'2',u'experienced'), (u'3',u'noob'), ) user_type = models.CharField(max_length = 2, choices=CHOICES) ,当检索到对象时,它会将其映射到1,2 or 3。请查看the docs以获取更多信息。

希望这有帮助!

答案 1 :(得分:2)

Use model field choices:

CHOICES = (
    ('foo', 'Do bar?'),
    ...
)
class Enduser(models.Model):
    user_type = models.CharField(max_length = 10, choices=CHOICES)