使用modelchoiceform连接的数据库选择

时间:2016-03-20 20:47:04

标签: python django database forms

现在我有一个模型字段,有这样的选择 models.py

class Person(models.Model):
    user = 'US'
    training_center = 'TC'
    instructor = 'IN'
    USER_TYPE_CHOICES = (
        (training_center, 'Training center'),
        (instructor, 'Instructor'),
        (user, 'User'),
    )
    user_type = models.CharField(max_length=2, choices=USER_TYPE_CHOICES, default=user)

forms.py

class RegistrationForm(forms.Form):
     Type = forms.ModelChoiceField(
             widget=forms.RadioSelect(
                 attrs=dict(required=True,
                            render_value=False)
             ),
             queryset=Person.objects.values('user_type')
         )

现在我有了这个模型和这个表单,我想在模型中出现一个带有选项的单选按钮:培训中心,讲师,用户, 我如何做出选择从数据库中获取值,如果还有其他方法可以做到,你能提及它并帮助我吗

1 个答案:

答案 0 :(得分:1)

如果您只想让Person模型中定义的选项显示在RegistrationForm中,则可以在不ModelChoiceField的情况下执行此操作。

ChoiceFieldPerson型号选项配合使用。

在您的forms.py中:

class RegistrationForm(forms.Form):
     user_type = forms.ChoiceField(choices=Person.USER_TYPE_CHOICES)