私はこのコードを持っています
class ObjectCreate(CreateView):
def form_valid(self, form):
このフォームが既にオブジェクト インスタンスにバインドされていることを知りたいのですが、form.save を使用するか、モデル インスタンスに手動でバインドする必要があります。
私はこのコードを持っています
class ObjectCreate(CreateView):
def form_valid(self, form):
このフォームが既にオブジェクト インスタンスにバインドされていることを知りたいのですが、form.save を使用するか、モデル インスタンスに手動でバインドする必要があります。
はい、フォームform_valid
は綴じられています。
これは、 のコードを見ればわかりますProcessFormView
。
def post(self, request, *args, **kwargs):
form_class = self.get_form_class()
form = self.get_form(form_class)
if form.is_valid():
return self.form_valid(form)
バインドされたフォームが によってインスタンス化されself.get_form(form_class)
、form_valid
フォームが有効な場合にのみメソッドが呼び出されることがわかります。
ModelFormMixin
によって使用される は、デフォルトでオブジェクトを保存することに注意してくださいCreateView
。何をしようとしているのかによっては、オーバーライドする必要がない場合もありますform_valid
。
フォーム クラスを取得して、 boundedを要求できます。
form_class = self.get_form_class()
if form.is_bound:
...