1

我有一个基于非常简单的模型表单的内联表单集。我想要一种将选择集添加到表单字段之一的方法,但我想从 views.py 文件中执行此操作,因为选择集是动态生成的。这可能吗?Python2.7、Django1.5

模型.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