1

非常に単純なモデルフォームに基づいたインラインフォームセットがあります。フォームのフィールドの 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
         })
4

0 に答える 0