非常に単純なモデルフォームに基づいたインラインフォームセットがあります。フォームのフィールドの 1 つに選択セットを追加する方法が欲しいのですが、選択セットが動的に生成されるため、views.py ファイルから実行したいと考えています。これは可能ですか?Python2.7、Django1.5
models.py
class RoleForm(ModelForm):
class Meta:
model = Role
fields = ['role_type', 'user', 'item']
ビュー.py
def new(request):
''' Create a new application '''
user = request.user
associatedRoleTypes = getAssociatedRoleTypes(Application)
#^^^this returns a queryset, and is what I want model_choices to be equal to
RoleFormSetFactory = inlineformset_factory(Application, Role, can_delete=False, form=RoleForm)
if request.method == 'POST':
applicationForm = ApplicationForm(request.POST)
if applicationForm.is_valid():
new_application = applicationForm.save()
roleInlineFormSet = RoleFormSetFactory(request.POST, instance = new_application)
if roleInlineFormSet.is_valid():
roleInlineFormSet.save()
else:
print roleInlineFormSet.errors
return redirect(reverse('index'))
else:
applicationForm = ApplicationForm()
roleInlineFormSet = RoleFormSetFactory()
return render(request, 'who/editapp.html',
{'roleInlineFormSet': roleInlineFormSet,
'applicationForm': applicationForm
})