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 に答える