{"title":"ミックスイン (mixin) を編集する","version":"5.1","locale":"ja","docname":"ref/class-based-views/mixins-editing","url":"/ja/5.1/ref/class-based-views/mixins-editing/","canonical":"https://djangodocs.dev/ja/5.1/ref/class-based-views/mixins-editing/","summary":"以下のミックスイン (mixin) は、Djangoの編集ビューを構築するのに使用されます。 django.views.generic.edit.FormMixin django.views.generic.edit.ModelFormMixin…","html":"<h1>ミックスイン (mixin) を編集する<a class=\"heading-anchor\" href=\"#editing-mixins\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h1>\n<p>以下のミックスイン (mixin) は、Djangoの編集ビューを構築するのに使用されます。</p>\n<ul class=\"simple\">\n<li><p><a class=\"reference internal\" href=\"#django.views.generic.edit.FormMixin\" title=\"django.views.generic.edit.FormMixin\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">django.views.generic.edit.FormMixin</span></code></a></p></li>\n<li><p><a class=\"reference internal\" href=\"#django.views.generic.edit.ModelFormMixin\" title=\"django.views.generic.edit.ModelFormMixin\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">django.views.generic.edit.ModelFormMixin</span></code></a></p></li>\n<li><p><a class=\"reference internal\" href=\"#django.views.generic.edit.ProcessFormView\" title=\"django.views.generic.edit.ProcessFormView\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">django.views.generic.edit.ProcessFormView</span></code></a></p></li>\n<li><p><a class=\"reference internal\" href=\"#django.views.generic.edit.DeletionMixin\" title=\"django.views.generic.edit.DeletionMixin\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">django.views.generic.edit.DeletionMixin</span></code></a></p></li>\n</ul>\n<aside class=\"admonition admonition-note\" role=\"note\">\n<p class=\"admonition-title\">注釈</p>\n<p>これらの編集ビューへの結合され方の例は、 <a class=\"reference internal\" href=\"/ja/5.1/ref/class-based-views/generic-editing/\"><span class=\"doc\">ジェネリック編集ビュー (Generic editing view)</span></a> を参照してください。</p>\n</aside>\n<section id=\"formmixin\">\n<h2><code class=\"docutils literal notranslate\"><span class=\"pre\">FormMixin</span></code><a class=\"heading-anchor\" href=\"#formmixin\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<dl class=\"py class\">\n<dt class=\"sig sig-object py\" id=\"django.views.generic.edit.FormMixin\">\n<em class=\"property\"><span class=\"k\"><span class=\"pre\">class</span></span><span class=\"w\"> </span></em><span class=\"sig-prename descclassname\"><span class=\"pre\">django.views.generic.edit.</span></span><span class=\"sig-name descname\"><span class=\"pre\">FormMixin</span></span><a class=\"heading-anchor\" href=\"#django.views.generic.edit.FormMixin\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>フォームを作成したり表示したりする機能を提供するmixinクラス。</p>\n<p><strong>ミックスイン</strong></p>\n<ul class=\"simple\">\n<li><p><a class=\"reference internal\" href=\"/ja/5.1/ref/class-based-views/mixins-simple/#django.views.generic.base.ContextMixin\" title=\"django.views.generic.base.ContextMixin\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">django.views.generic.base.ContextMixin</span></code></a></p></li>\n</ul>\n<p><strong>メソッドと属性</strong></p>\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.views.generic.edit.FormMixin.initial\">\n<span class=\"sig-name descname\"><span class=\"pre\">initial</span></span><a class=\"heading-anchor\" href=\"#django.views.generic.edit.FormMixin.initial\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>フォームの初期化データのディクショナリ。</p>\n</dd></dl>\n\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.views.generic.edit.FormMixin.form_class\">\n<span class=\"sig-name descname\"><span class=\"pre\">form_class</span></span><a class=\"heading-anchor\" href=\"#django.views.generic.edit.FormMixin.form_class\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>インスタンス化するフォームクラス。</p>\n</dd></dl>\n\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.views.generic.edit.FormMixin.success_url\">\n<span class=\"sig-name descname\"><span class=\"pre\">success_url</span></span><a class=\"heading-anchor\" href=\"#django.views.generic.edit.FormMixin.success_url\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>フォームが正常に処理されたときにリダイレクトするURL。</p>\n</dd></dl>\n\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.views.generic.edit.FormMixin.prefix\">\n<span class=\"sig-name descname\"><span class=\"pre\">prefix</span></span><a class=\"heading-anchor\" href=\"#django.views.generic.edit.FormMixin.prefix\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>生成されるフォームの <a class=\"reference internal\" href=\"/ja/5.1/ref/forms/api/#django.forms.Form.prefix\" title=\"django.forms.Form.prefix\"><code class=\"xref py py-attr docutils literal notranslate\"><span class=\"pre\">prefix</span></code></a> 。</p>\n</dd></dl>\n\n<dl class=\"py method\">\n<dt class=\"sig sig-object py\" id=\"django.views.generic.edit.FormMixin.get_initial\">\n<span class=\"sig-name descname\"><span class=\"pre\">get_initial</span></span><span class=\"sig-paren\">(</span><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.views.generic.edit.FormMixin.get_initial\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>フォームの初期データを取得します。デフォルトでは、 <a class=\"reference internal\" href=\"#django.views.generic.edit.FormMixin.initial\" title=\"django.views.generic.edit.FormMixin.initial\"><code class=\"xref py py-attr docutils literal notranslate\"><span class=\"pre\">initial</span></code></a> のコピーを返します。</p>\n</dd></dl>\n\n<dl class=\"py method\">\n<dt class=\"sig sig-object py\" id=\"django.views.generic.edit.FormMixin.get_form_class\">\n<span class=\"sig-name descname\"><span class=\"pre\">get_form_class</span></span><span class=\"sig-paren\">(</span><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.views.generic.edit.FormMixin.get_form_class\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>インスタンス化するフォームクラスを取得します。デフォルトでは <a class=\"reference internal\" href=\"#django.views.generic.edit.FormMixin.form_class\" title=\"django.views.generic.edit.FormMixin.form_class\"><code class=\"xref py py-attr docutils literal notranslate\"><span class=\"pre\">form_class</span></code></a> です。</p>\n</dd></dl>\n\n<dl class=\"py method\">\n<dt class=\"sig sig-object py\" id=\"django.views.generic.edit.FormMixin.get_form\">\n<span class=\"sig-name descname\"><span class=\"pre\">get_form</span></span><span class=\"sig-paren\">(</span><em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">form_class</span></span><span class=\"o\"><span class=\"pre\">=</span></span><span class=\"default_value\"><span class=\"pre\">None</span></span></em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.views.generic.edit.FormMixin.get_form\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p><a class=\"reference internal\" href=\"#django.views.generic.edit.FormMixin.get_form_kwargs\" title=\"django.views.generic.edit.FormMixin.get_form_kwargs\"><code class=\"xref py py-meth docutils literal notranslate\"><span class=\"pre\">get_form_kwargs()</span></code></a> を使用して <code class=\"docutils literal notranslate\"><span class=\"pre\">form_class</span></code> のインスタンスを生成します。 <code class=\"docutils literal notranslate\"><span class=\"pre\">form_class</span></code> が指定されていない場合は <a class=\"reference internal\" href=\"#django.views.generic.edit.FormMixin.get_form_class\" title=\"django.views.generic.edit.FormMixin.get_form_class\"><code class=\"xref py py-meth docutils literal notranslate\"><span class=\"pre\">get_form_class()</span></code></a> が使用されます。</p>\n</dd></dl>\n\n<dl class=\"py method\">\n<dt class=\"sig sig-object py\" id=\"django.views.generic.edit.FormMixin.get_form_kwargs\">\n<span class=\"sig-name descname\"><span class=\"pre\">get_form_kwargs</span></span><span class=\"sig-paren\">(</span><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.views.generic.edit.FormMixin.get_form_kwargs\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>フォームのインスタンス化に必要なキーワード引数を構築します。</p>\n<p>引数 <code class=\"docutils literal notranslate\"><span class=\"pre\">initial</span></code> には <a class=\"reference internal\" href=\"#django.views.generic.edit.FormMixin.get_initial\" title=\"django.views.generic.edit.FormMixin.get_initial\"><code class=\"xref py py-meth docutils literal notranslate\"><span class=\"pre\">get_initial()</span></code></a> を指定します。 リクエストが <code class=\"docutils literal notranslate\"><span class=\"pre\">POST</span></code> または <code class=\"docutils literal notranslate\"><span class=\"pre\">PUT</span></code> の場合、リクエストデータ (<code class=\"docutils literal notranslate\"><span class=\"pre\">request.POST</span></code> と <code class=\"docutils literal notranslate\"><span class=\"pre\">request.FILES</span></code>) も提供されます。</p>\n</dd></dl>\n\n<dl class=\"py method\">\n<dt class=\"sig sig-object py\" id=\"django.views.generic.edit.FormMixin.get_prefix\">\n<span class=\"sig-name descname\"><span class=\"pre\">get_prefix</span></span><span class=\"sig-paren\">(</span><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.views.generic.edit.FormMixin.get_prefix\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>生成されるフォームの <a class=\"reference internal\" href=\"/ja/5.1/ref/forms/api/#django.forms.Form.prefix\" title=\"django.forms.Form.prefix\"><code class=\"xref py py-attr docutils literal notranslate\"><span class=\"pre\">prefix</span></code></a> を特定します。 デフォルトでは <a class=\"reference internal\" href=\"#django.views.generic.edit.FormMixin.prefix\" title=\"django.views.generic.edit.FormMixin.prefix\"><code class=\"xref py py-attr docutils literal notranslate\"><span class=\"pre\">prefix</span></code></a> を返します。</p>\n</dd></dl>\n\n<dl class=\"py method\">\n<dt class=\"sig sig-object py\" id=\"django.views.generic.edit.FormMixin.get_success_url\">\n<span class=\"sig-name descname\"><span class=\"pre\">get_success_url</span></span><span class=\"sig-paren\">(</span><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.views.generic.edit.FormMixin.get_success_url\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>フォームのバリデーションに成功したときにリダイレクトする URL を特定します。 デフォルトでは <a class=\"reference internal\" href=\"#django.views.generic.edit.FormMixin.success_url\" title=\"django.views.generic.edit.FormMixin.success_url\"><code class=\"xref py py-attr docutils literal notranslate\"><span class=\"pre\">success_url</span></code></a> を返します。</p>\n</dd></dl>\n\n<dl class=\"py method\">\n<dt class=\"sig sig-object py\" id=\"django.views.generic.edit.FormMixin.form_valid\">\n<span class=\"sig-name descname\"><span class=\"pre\">form_valid</span></span><span class=\"sig-paren\">(</span><em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">form</span></span></em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.views.generic.edit.FormMixin.form_valid\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p><a class=\"reference internal\" href=\"#django.views.generic.edit.FormMixin.get_success_url\" title=\"django.views.generic.edit.FormMixin.get_success_url\"><code class=\"xref py py-meth docutils literal notranslate\"><span class=\"pre\">get_success_url()</span></code></a> にリダイレクトします。</p>\n</dd></dl>\n\n<dl class=\"py method\">\n<dt class=\"sig sig-object py\" id=\"django.views.generic.edit.FormMixin.form_invalid\">\n<span class=\"sig-name descname\"><span class=\"pre\">form_invalid</span></span><span class=\"sig-paren\">(</span><em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">form</span></span></em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.views.generic.edit.FormMixin.form_invalid\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>無効なフォームをコンテキストとして提供し、レスポンスをレンダリングします。</p>\n</dd></dl>\n\n<dl class=\"py method\">\n<dt class=\"sig sig-object py\" id=\"django.views.generic.edit.FormMixin.get_context_data\">\n<span class=\"sig-name descname\"><span class=\"pre\">get_context_data</span></span><span class=\"sig-paren\">(</span><em class=\"sig-param\"><span class=\"o\"><span class=\"pre\">**</span></span><span class=\"n\"><span class=\"pre\">kwargs</span></span></em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.views.generic.edit.FormMixin.get_context_data\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p><a class=\"reference internal\" href=\"#django.views.generic.edit.FormMixin.get_form\" title=\"django.views.generic.edit.FormMixin.get_form\"><code class=\"xref py py-meth docutils literal notranslate\"><span class=\"pre\">get_form()</span></code></a> を呼び出して、その結果を &quot;form&quot; という名前でコンテキストデータに追加します。</p>\n</dd></dl>\n\n</dd></dl>\n\n</section>\n<section id=\"modelformmixin\">\n<h2><code class=\"docutils literal notranslate\"><span class=\"pre\">ModelFormMixin</span></code><a class=\"heading-anchor\" href=\"#modelformmixin\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<dl class=\"py class\">\n<dt class=\"sig sig-object py\" id=\"django.views.generic.edit.ModelFormMixin\">\n<em class=\"property\"><span class=\"k\"><span class=\"pre\">class</span></span><span class=\"w\"> </span></em><span class=\"sig-prename descclassname\"><span class=\"pre\">django.views.generic.edit.</span></span><span class=\"sig-name descname\"><span class=\"pre\">ModelFormMixin</span></span><a class=\"heading-anchor\" href=\"#django.views.generic.edit.ModelFormMixin\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>単独のフォームではなく <code class=\"docutils literal notranslate\"><span class=\"pre\">ModelForms</span></code> で動作するフォームミックスインです。</p>\n<p>これは <a class=\"reference internal\" href=\"/ja/5.1/ref/class-based-views/mixins-single-object/#django.views.generic.detail.SingleObjectMixin\" title=\"django.views.generic.detail.SingleObjectMixin\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">SingleObjectMixin</span></code></a> のサブクラスなので、このミックスインのインスタンスは <code class=\"docutils literal notranslate\"><span class=\"pre\">ModelForm</span></code> が操作するオブジェクトのタイプを記述して <a class=\"reference internal\" href=\"/ja/5.1/ref/class-based-views/mixins-single-object/#django.views.generic.detail.SingleObjectMixin.model\" title=\"django.views.generic.detail.SingleObjectMixin.model\"><code class=\"xref py py-attr docutils literal notranslate\"><span class=\"pre\">model</span></code></a> と <a class=\"reference internal\" href=\"/ja/5.1/ref/class-based-views/mixins-single-object/#django.views.generic.detail.SingleObjectMixin.queryset\" title=\"django.views.generic.detail.SingleObjectMixin.queryset\"><code class=\"xref py py-attr docutils literal notranslate\"><span class=\"pre\">queryset</span></code></a> 属性にアクセスできます。</p>\n<p><a class=\"reference internal\" href=\"#django.views.generic.edit.ModelFormMixin.fields\" title=\"django.views.generic.edit.ModelFormMixin.fields\"><code class=\"xref py py-attr docutils literal notranslate\"><span class=\"pre\">fields</span></code></a> 属性と <a class=\"reference internal\" href=\"#django.views.generic.edit.FormMixin.form_class\" title=\"django.views.generic.edit.FormMixin.form_class\"><code class=\"xref py py-attr docutils literal notranslate\"><span class=\"pre\">form_class</span></code></a> 属性の両方を指定した場合、 <a class=\"reference internal\" href=\"/ja/5.1/ref/exceptions/#django.core.exceptions.ImproperlyConfigured\" title=\"django.core.exceptions.ImproperlyConfigured\"><code class=\"xref py py-exc docutils literal notranslate\"><span class=\"pre\">ImproperlyConfigured</span></code></a> 例外が発生します。</p>\n<p><strong>ミックスイン</strong></p>\n<ul class=\"simple\">\n<li><p><a class=\"reference internal\" href=\"#django.views.generic.edit.FormMixin\" title=\"django.views.generic.edit.FormMixin\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">django.views.generic.edit.FormMixin</span></code></a></p></li>\n<li><p><a class=\"reference internal\" href=\"/ja/5.1/ref/class-based-views/mixins-single-object/#django.views.generic.detail.SingleObjectMixin\" title=\"django.views.generic.detail.SingleObjectMixin\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">django.views.generic.detail.SingleObjectMixin</span></code></a></p></li>\n</ul>\n<p><strong>メソッドと属性</strong></p>\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.views.generic.edit.ModelFormMixin.model\">\n<span class=\"sig-name descname\"><span class=\"pre\">model</span></span><a class=\"heading-anchor\" href=\"#django.views.generic.edit.ModelFormMixin.model\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>モデルクラス。明示的に指定することもできますが、そうでない場合は <code class=\"docutils literal notranslate\"><span class=\"pre\">self.object</span></code> または <a class=\"reference internal\" href=\"/ja/5.1/ref/class-based-views/mixins-single-object/#django.views.generic.detail.SingleObjectMixin.queryset\" title=\"django.views.generic.detail.SingleObjectMixin.queryset\"><code class=\"xref py py-attr docutils literal notranslate\"><span class=\"pre\">queryset</span></code></a> を調べて決定されます。</p>\n</dd></dl>\n\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.views.generic.edit.ModelFormMixin.fields\">\n<span class=\"sig-name descname\"><span class=\"pre\">fields</span></span><a class=\"heading-anchor\" href=\"#django.views.generic.edit.ModelFormMixin.fields\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>フィールド名のリストです。これは <a class=\"reference internal\" href=\"/ja/5.1/topics/forms/modelforms/#django.forms.ModelForm\" title=\"django.forms.ModelForm\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">ModelForm</span></code></a> の <code class=\"docutils literal notranslate\"><span class=\"pre\">Meta.fields</span></code> 属性と同じように解釈されます。</p>\n<p>フォームクラスを自動生成する場合、この属性は必須です (<code class=\"docutils literal notranslate\"><span class=\"pre\">model</span></code> を使用するなど)。この属性を省略すると <a class=\"reference internal\" href=\"/ja/5.1/ref/exceptions/#django.core.exceptions.ImproperlyConfigured\" title=\"django.core.exceptions.ImproperlyConfigured\"><code class=\"xref py py-exc docutils literal notranslate\"><span class=\"pre\">ImproperlyConfigured</span></code></a> 例外が発生します。</p>\n</dd></dl>\n\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.views.generic.edit.ModelFormMixin.success_url\">\n<span class=\"sig-name descname\"><span class=\"pre\">success_url</span></span><a class=\"heading-anchor\" href=\"#django.views.generic.edit.ModelFormMixin.success_url\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>フォームが正常に処理されたときにリダイレクトするURL。</p>\n<p><code class=\"docutils literal notranslate\"><span class=\"pre\">success_url</span></code> は辞書文字列のフォーマットを含むことができ、オブジェクトのフィールド属性に対して補間されます。例えば、 <code class=\"docutils literal notranslate\"><span class=\"pre\">success_url=&quot;/polls/{slug}/&quot;</span></code> を使用すると、モデルの <code class=\"docutils literal notranslate\"><span class=\"pre\">slug</span></code> フィールドから構成される URL にリダイレクトできます。</p>\n</dd></dl>\n\n<dl class=\"py method\">\n<dt class=\"sig sig-object py\" id=\"django.views.generic.edit.ModelFormMixin.get_form_class\">\n<span class=\"sig-name descname\"><span class=\"pre\">get_form_class</span></span><span class=\"sig-paren\">(</span><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.views.generic.edit.ModelFormMixin.get_form_class\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>インスタンス化するフォームクラスを取得します。<a class=\"reference internal\" href=\"#django.views.generic.edit.FormMixin.form_class\" title=\"django.views.generic.edit.FormMixin.form_class\"><code class=\"xref py py-attr docutils literal notranslate\"><span class=\"pre\">form_class</span></code></a> が指定されていれば、そのクラスが使用されます。そうでない場合は、 <a class=\"reference internal\" href=\"/ja/5.1/ref/class-based-views/mixins-single-object/#django.views.generic.detail.SingleObjectMixin.queryset\" title=\"django.views.generic.detail.SingleObjectMixin.queryset\"><code class=\"xref py py-attr docutils literal notranslate\"><span class=\"pre\">queryset</span></code></a> に関連付けられたモデルか、 <a class=\"reference internal\" href=\"/ja/5.1/ref/class-based-views/mixins-single-object/#django.views.generic.detail.SingleObjectMixin.model\" title=\"django.views.generic.detail.SingleObjectMixin.model\"><code class=\"xref py py-attr docutils literal notranslate\"><span class=\"pre\">model</span></code></a> に関連付けられたモデルを使って <code class=\"docutils literal notranslate\"><span class=\"pre\">ModelForm</span></code> がインスタンス化されます。</p>\n</dd></dl>\n\n<dl class=\"py method\">\n<dt class=\"sig sig-object py\" id=\"django.views.generic.edit.ModelFormMixin.get_form_kwargs\">\n<span class=\"sig-name descname\"><span class=\"pre\">get_form_kwargs</span></span><span class=\"sig-paren\">(</span><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.views.generic.edit.ModelFormMixin.get_form_kwargs\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>現在のインスタンス (<code class=\"docutils literal notranslate\"><span class=\"pre\">self.object</span></code>) を標準の <a class=\"reference internal\" href=\"#django.views.generic.edit.FormMixin.get_form_kwargs\" title=\"django.views.generic.edit.FormMixin.get_form_kwargs\"><code class=\"xref py py-meth docutils literal notranslate\"><span class=\"pre\">get_form_kwargs()</span></code></a> に追加します。</p>\n</dd></dl>\n\n<dl class=\"py method\">\n<dt class=\"sig sig-object py\" id=\"django.views.generic.edit.ModelFormMixin.get_success_url\">\n<span class=\"sig-name descname\"><span class=\"pre\">get_success_url</span></span><span class=\"sig-paren\">(</span><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.views.generic.edit.ModelFormMixin.get_success_url\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>フォームのバリデーションに成功したときにリダイレクトする URL を特定します。指定されていれば <a class=\"reference internal\" href=\"#django.views.generic.edit.ModelFormMixin.success_url\" title=\"django.views.generic.edit.ModelFormMixin.success_url\"><code class=\"xref py py-attr docutils literal notranslate\"><span class=\"pre\">django.views.generic.edit.ModelFormMixin.success_url</span></code></a> を返し、指定されていなければオブジェクトの <code class=\"docutils literal notranslate\"><span class=\"pre\">get_absolute_url()</span></code> を使おうとします。</p>\n</dd></dl>\n\n<dl class=\"py method\">\n<dt class=\"sig sig-object py\" id=\"django.views.generic.edit.ModelFormMixin.form_valid\">\n<span class=\"sig-name descname\"><span class=\"pre\">form_valid</span></span><span class=\"sig-paren\">(</span><em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">form</span></span></em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.views.generic.edit.ModelFormMixin.form_valid\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>フォームインスタンスを保存し、ビューのカレントオブジェクトを設定し、 <a class=\"reference internal\" href=\"#django.views.generic.edit.FormMixin.get_success_url\" title=\"django.views.generic.edit.FormMixin.get_success_url\"><code class=\"xref py py-meth docutils literal notranslate\"><span class=\"pre\">get_success_url()</span></code></a> にリダイレクトします。</p>\n</dd></dl>\n\n<dl class=\"py method\">\n<dt class=\"sig sig-object py\" id=\"django.views.generic.edit.ModelFormMixin.form_invalid\">\n<span class=\"sig-name descname\"><span class=\"pre\">form_invalid</span></span><span class=\"sig-paren\">(</span><em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">form</span></span></em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.views.generic.edit.ModelFormMixin.form_invalid\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>無効なフォームをコンテキストとして提供し、レスポンスをレンダリングします。</p>\n</dd></dl>\n\n</dd></dl>\n\n</section>\n<section id=\"processformview\">\n<h2><code class=\"docutils literal notranslate\"><span class=\"pre\">ProcessFormView</span></code><a class=\"heading-anchor\" href=\"#processformview\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<dl class=\"py class\">\n<dt class=\"sig sig-object py\" id=\"django.views.generic.edit.ProcessFormView\">\n<em class=\"property\"><span class=\"k\"><span class=\"pre\">class</span></span><span class=\"w\"> </span></em><span class=\"sig-prename descclassname\"><span class=\"pre\">django.views.generic.edit.</span></span><span class=\"sig-name descname\"><span class=\"pre\">ProcessFormView</span></span><a class=\"heading-anchor\" href=\"#django.views.generic.edit.ProcessFormView\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>基本的な HTTP GET および POST ワークフローを提供するミックスインです。</p>\n<aside class=\"admonition admonition-note\" role=\"note\">\n<p class=\"admonition-title\">注釈</p>\n<p>これは &quot;ProcessFormView&quot; という名前で、 <a class=\"reference internal\" href=\"/ja/5.1/ref/class-based-views/base/#django.views.generic.base.View\" title=\"django.views.generic.base.View\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">django.views.generic.base.View</span></code></a> を直接継承していますが、単独で使用すると壊れてしまうので、ミックスインとして扱う方が自然です。</p>\n</aside>\n<p><strong>親クラス</strong></p>\n<ul class=\"simple\">\n<li><p><a class=\"reference internal\" href=\"/ja/5.1/ref/class-based-views/base/#django.views.generic.base.View\" title=\"django.views.generic.base.View\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">django.views.generic.base.View</span></code></a></p></li>\n</ul>\n<p><strong>メソッドと属性</strong></p>\n<dl class=\"py method\">\n<dt class=\"sig sig-object py\" id=\"django.views.generic.edit.ProcessFormView.get\">\n<span class=\"sig-name descname\"><span class=\"pre\">get</span></span><span class=\"sig-paren\">(</span><em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">request</span></span></em>, <em class=\"sig-param\"><span class=\"o\"><span class=\"pre\">*</span></span><span class=\"n\"><span class=\"pre\">args</span></span></em>, <em class=\"sig-param\"><span class=\"o\"><span class=\"pre\">**</span></span><span class=\"n\"><span class=\"pre\">kwargs</span></span></em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.views.generic.edit.ProcessFormView.get\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p><a class=\"reference internal\" href=\"#django.views.generic.edit.FormMixin.get_context_data\" title=\"django.views.generic.edit.FormMixin.get_context_data\"><code class=\"xref py py-meth docutils literal notranslate\"><span class=\"pre\">get_context_data()</span></code></a> で作成したコンテキストを使ってレスポンスをレンダリングします。</p>\n</dd></dl>\n\n<dl class=\"py method\">\n<dt class=\"sig sig-object py\" id=\"django.views.generic.edit.ProcessFormView.post\">\n<span class=\"sig-name descname\"><span class=\"pre\">post</span></span><span class=\"sig-paren\">(</span><em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">request</span></span></em>, <em class=\"sig-param\"><span class=\"o\"><span class=\"pre\">*</span></span><span class=\"n\"><span class=\"pre\">args</span></span></em>, <em class=\"sig-param\"><span class=\"o\"><span class=\"pre\">**</span></span><span class=\"n\"><span class=\"pre\">kwargs</span></span></em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.views.generic.edit.ProcessFormView.post\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>フォームを構築し、フォームのバリデーションを行い、それに応じて処理します。</p>\n</dd></dl>\n\n<dl class=\"py method\">\n<dt class=\"sig sig-object py\" id=\"django.views.generic.edit.ProcessFormView.put\">\n<span class=\"sig-name descname\"><span class=\"pre\">put</span></span><span class=\"sig-paren\">(</span><em class=\"sig-param\"><span class=\"o\"><span class=\"pre\">*</span></span><span class=\"n\"><span class=\"pre\">args</span></span></em>, <em class=\"sig-param\"><span class=\"o\"><span class=\"pre\">**</span></span><span class=\"n\"><span class=\"pre\">kwargs</span></span></em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.views.generic.edit.ProcessFormView.put\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p><code class=\"docutils literal notranslate\"><span class=\"pre\">PUT</span></code> アクションも処理され、すべてのパラメータを <a class=\"reference internal\" href=\"#django.views.generic.edit.ProcessFormView.post\" title=\"django.views.generic.edit.ProcessFormView.post\"><code class=\"xref py py-meth docutils literal notranslate\"><span class=\"pre\">post()</span></code></a> に渡します。</p>\n</dd></dl>\n\n</dd></dl>\n\n</section>\n<section id=\"deletionmixin\">\n<h2><code class=\"docutils literal notranslate\"><span class=\"pre\">DeletionMixin</span></code><a class=\"heading-anchor\" href=\"#deletionmixin\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<dl class=\"py class\">\n<dt class=\"sig sig-object py\" id=\"django.views.generic.edit.DeletionMixin\">\n<em class=\"property\"><span class=\"k\"><span class=\"pre\">class</span></span><span class=\"w\"> </span></em><span class=\"sig-prename descclassname\"><span class=\"pre\">django.views.generic.edit.</span></span><span class=\"sig-name descname\"><span class=\"pre\">DeletionMixin</span></span><a class=\"heading-anchor\" href=\"#django.views.generic.edit.DeletionMixin\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>HTTP アクション <code class=\"docutils literal notranslate\"><span class=\"pre\">DELETE</span></code> の処理を有効にします。</p>\n<p><strong>メソッドと属性</strong></p>\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.views.generic.edit.DeletionMixin.success_url\">\n<span class=\"sig-name descname\"><span class=\"pre\">success_url</span></span><a class=\"heading-anchor\" href=\"#django.views.generic.edit.DeletionMixin.success_url\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>指定したオブジェクトが正常に削除されたときにリダイレクトする URL。</p>\n<p><code class=\"docutils literal notranslate\"><span class=\"pre\">success_url</span></code> は辞書文字列のフォーマットを含むことができ、オブジェクトのフィールド属性に対して補間されます。例えば、 <code class=\"docutils literal notranslate\"><span class=\"pre\">success_url=&quot;/parent/{parent_id}/&quot;</span></code> を使用すると、モデルの <code class=\"docutils literal notranslate\"><span class=\"pre\">parent_id</span></code> フィールドから構成される URL にリダイレクトできます。</p>\n</dd></dl>\n\n<dl class=\"py method\">\n<dt class=\"sig sig-object py\" id=\"django.views.generic.edit.DeletionMixin.delete\">\n<span class=\"sig-name descname\"><span class=\"pre\">delete</span></span><span class=\"sig-paren\">(</span><em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">request</span></span></em>, <em class=\"sig-param\"><span class=\"o\"><span class=\"pre\">*</span></span><span class=\"n\"><span class=\"pre\">args</span></span></em>, <em class=\"sig-param\"><span class=\"o\"><span class=\"pre\">**</span></span><span class=\"n\"><span class=\"pre\">kwargs</span></span></em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.views.generic.edit.DeletionMixin.delete\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>対象のオブジェクトを取得し、その <code class=\"docutils literal notranslate\"><span class=\"pre\">delete()</span></code> メソッドを呼び出して、success URL にリダイレクトします。</p>\n</dd></dl>\n\n<dl class=\"py method\">\n<dt class=\"sig sig-object py\" id=\"django.views.generic.edit.DeletionMixin.get_success_url\">\n<span class=\"sig-name descname\"><span class=\"pre\">get_success_url</span></span><span class=\"sig-paren\">(</span><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.views.generic.edit.DeletionMixin.get_success_url\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>指定したオブジェクトが正常に削除された場合にリダイレクトする URL を返します。デフォルトでは <a class=\"reference internal\" href=\"#django.views.generic.edit.DeletionMixin.success_url\" title=\"django.views.generic.edit.DeletionMixin.success_url\"><code class=\"xref py py-attr docutils literal notranslate\"><span class=\"pre\">success_url</span></code></a> を返します。</p>\n</dd></dl>\n\n</dd></dl>\n\n</section>","rootId":"editing-mixins","toc":[{"title":"FormMixin","anchor":"formmixin","children":[]},{"title":"ModelFormMixin","anchor":"modelformmixin","children":[]},{"title":"ProcessFormView","anchor":"processformview","children":[]},{"title":"DeletionMixin","anchor":"deletionmixin","children":[]}],"breadcrumbs":[{"docname":"ref/index","title":"API リファレンス","url":"/ja/5.1/ref/"},{"docname":"ref/class-based-views/index","title":"ビルトインのクラスベースビュー API","url":"/ja/5.1/ref/class-based-views/"},{"docname":"ref/class-based-views/mixins","title":"クラスベースビューのミックスイン (mixin)","url":"/ja/5.1/ref/class-based-views/mixins/"}],"prev":{"docname":"ref/class-based-views/mixins-multiple-object","title":"複数オブジェクトミックスイン (Multiple object mixin)","url":"/ja/5.1/ref/class-based-views/mixins-multiple-object/"},"next":{"docname":"ref/class-based-views/mixins-date-based","title":"日付ベースのミックスイン (mixin)","url":"/ja/5.1/ref/class-based-views/mixins-date-based/"},"formats":{"html":"/ja/5.1/ref/class-based-views/mixins-editing/","markdown":"/ja/5.1/ref/class-based-views/mixins-editing.md","json":"/ja/5.1/ref/class-based-views/mixins-editing.json"},"source":"https://github.com/django/django/blob/stable/5.1.x/docs/ref/class-based-views/mixins-editing.txt","official":"https://docs.djangoproject.com/ja/5.1/ref/class-based-views/mixins-editing/","inVersions":["6.1","6.0","5.2","5.1","5.0","4.2","4.1","4.0","3.2","3.1","3.0","2.2","2.1","2.0","1.11","1.10","1.9"],"inLocales":["en","zh-hans","fr","ja","id","it","pt-br","ko","es","el","pl"]}