アプリケーションに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)