1

我的应用程序中有一个 ModelForm,我想在其中修改init函数以添加一些自定义。

init被注释掉时,表单可以正常工作并正确验证。当我覆盖 init 并转到呈现表单的 url 时,它会自动说“需要字段 xyz”

那个问题的原因是什么?

class CreateListView(FormMixin, ListView):

    def get_context_data(self, **kwargs):
        self.object_list = self.get_queryset()
        data = super(ListView, self).get_context_data()
        data['object_list'] = self.get_queryset()
        data['form'] = self.get_form(self.form_class)
        return data

    def post(self, request, *args, **kwargs):
        form = self.form_class(request.POST)
        if form.is_valid():
            form = form.save()
            return HttpResponseRedirect(form.get_absolute_url())
        return self.form_invalid(self.get_context_data())



class ActionGroupForm(forms.ModelForm):

    class Meta:
        model = ActionGroup

    def __init__(self, *args, **kwargs):
        super(ActionGroupForm, self).__init__(args, kwargs)
4

1 回答 1

6

你失踪了***

super(ActionGroupForm, self).__init__(*args, **kwargs)
于 2013-07-19T06:55:35.567 回答