我有一个组模型,我想在我的表单中使用它的对象。我想要一个基于组模型对象的动态选择元组!我该怎么做? 我使用了下面的代码:
class Employee_Form(forms.Form):
GROUPS = ()
try:
GROUPS = (
)
for i in Group.objects.all():
GROUPS += ((i.name , i.name),)
except:
pass
phone = forms.CharField(max_length=12)
name = forms.CharField(max_length=50)
position = forms.CharField(max_length=30)
group = forms.ChoiceField(choices=GROUPS)
这段代码有问题。每次向模型添加新对象时,都必须重新启动服务器,但不建议这样做! 一件重要的事情是我想使用 forms.Form 而不是 modelForm。
ModelChoiceField
form 字段 [Django-doc],这需要一个 QuerySet
,并使用主键作为标识符来确定所选择的项目:
class Employee_Form(forms.Form):
phone = forms.CharField(max_length=12)
name = forms.CharField(max_length=50)
position = forms.CharField(max_length=30)
group = forms.ModelChoiceField(queryset=Group.objects.all())