{"title":"Generiska redigeringsvyer","version":"6.0","locale":"sv","docname":"ref/class-based-views/generic-editing","url":"/sv/6.0/ref/class-based-views/generic-editing/","canonical":"https://djangodocs.dev/sv/6.0/ref/class-based-views/generic-editing/","summary":"Följande vyer beskrivs på den här sidan och ger en grund för redigering av innehåll: django.views.generic.edit.FormView, django.views.generic.edit.CreateView…","html":"<h1>Generiska redigeringsvyer<a class=\"heading-anchor\" href=\"#generic-editing-views\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h1>\n<p>Följande vyer beskrivs på den här sidan och ger en grund för redigering av innehåll:</p>\n<ul class=\"simple\">\n<li><p><a class=\"reference internal\" href=\"#django.views.generic.edit.FormView\" title=\"django.views.generic.edit.FormView\"><code class=\"xref py py-class docutils literal notranslate\">django.views.generic.edit.FormView</code></a></p></li>\n<li><p><a class=\"reference internal\" href=\"#django.views.generic.edit.CreateView\" title=\"django.views.generic.edit.CreateView\"><code class=\"xref py py-class docutils literal notranslate\">django.views.generic.edit.CreateView</code></a></p></li>\n<li><p><a class=\"reference internal\" href=\"#django.views.generic.edit.UpdateView\" title=\"django.views.generic.edit.UpdateView\"><code class=\"xref py py-class docutils literal notranslate\">django.views.generic.edit.UpdateView</code></a></p></li>\n<li><p><a class=\"reference internal\" href=\"#django.views.generic.edit.DeleteView\" title=\"django.views.generic.edit.DeleteView\"><code class=\"xref py py-class docutils literal notranslate\">django.views.generic.edit.DeleteView</code></a></p></li>\n</ul>\n<aside class=\"admonition admonition-seealso\" role=\"note\">\n<p class=\"admonition-title\">Se även</p>\n<p>Ramverket <a class=\"reference internal\" href=\"/sv/6.0/ref/contrib/messages/\"><span class=\"doc\">messages</span></a> innehåller <a class=\"reference internal\" href=\"/sv/6.0/ref/contrib/messages/#django.contrib.messages.views.SuccessMessageMixin\" title=\"django.contrib.messages.views.SuccessMessageMixin\"><code class=\"xref py py-class docutils literal notranslate\">SuccessMessageMixin</code></a>, som underlättar presentationen av meddelanden om lyckade formulärinlämningar.</p>\n</aside>\n<aside class=\"admonition admonition-note\" role=\"note\">\n<p class=\"admonition-title\">Observera</p>\n<p>Några av exemplen på den här sidan förutsätter att en <code class=\"docutils literal notranslate\">Author</code>-modell har definierats på följande sätt i <code class=\"docutils literal notranslate\">myapp/models.py</code>:</p>\n<div class=\"code-block\" data-language=\"default\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Code</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Code code\"><code><span class=\"kn\">from</span> <span class=\"nn\">django.db</span> <span class=\"kn\">import</span> models\n<span class=\"kn\">from</span> <span class=\"nn\">django.urls</span> <span class=\"kn\">import</span> reverse\n\n\n<span class=\"k\">class</span> <span class=\"nc\">Author</span><span class=\"p\">(</span>models<span class=\"o\">.</span>Model<span class=\"p\">):</span>\n    name <span class=\"o\">=</span> models<span class=\"o\">.</span>CharField<span class=\"p\">(</span>max_length<span class=\"o\">=</span><span class=\"mi\">200</span><span class=\"p\">)</span>\n\n    <span class=\"k\">def</span> <span class=\"nf\">get_absolute_url</span><span class=\"p\">(</span><span class=\"bp\">self</span><span class=\"p\">):</span>\n        <span class=\"k\">return</span> reverse<span class=\"p\">(</span><span class=\"s2\">&quot;author-detail&quot;</span><span class=\"p\">,</span> kwargs<span class=\"o\">=</span><span class=\"p\">{</span><span class=\"s2\">&quot;pk&quot;</span><span class=\"p\">:</span> <span class=\"bp\">self</span><span class=\"o\">.</span>pk<span class=\"p\">})</span>\n</code></pre></div>\n</aside>\n<section id=\"formview\">\n<h2><code class=\"docutils literal notranslate\">FormView</code><a class=\"heading-anchor\" href=\"#formview\"><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.FormView\">\n<em class=\"property\"><span class=\"k\">class</span> </em><span class=\"sig-prename descclassname\">django.views.generic.edit.</span><span class=\"sig-name descname\">FormView</span><a class=\"heading-anchor\" href=\"#django.views.generic.edit.FormView\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>En vy som visar ett formulär. Vid fel visas formuläret på nytt med valideringsfel; vid framgång omdirigeras formuläret till en ny URL.</p>\n<p><strong>Ancestors (MRO)</strong></p>\n<p>Denna vy ärver metoder och attribut från följande vyer:</p>\n<ul class=\"simple\">\n<li><p><a class=\"reference internal\" href=\"/sv/6.0/ref/class-based-views/mixins-simple/#django.views.generic.base.TemplateResponseMixin\" title=\"django.views.generic.base.TemplateResponseMixin\"><code class=\"xref py py-class docutils literal notranslate\">django.views.generic.base.TemplateResponseMixin</code></a></p></li>\n<li><p><a class=\"reference internal\" href=\"#django.views.generic.edit.BaseFormView\" title=\"django.views.generic.edit.BaseFormView\"><code class=\"xref py py-class docutils literal notranslate\">django.views.generic.edit.BaseFormView</code></a></p></li>\n<li><p><a class=\"reference internal\" href=\"/sv/6.0/ref/class-based-views/mixins-editing/#django.views.generic.edit.FormMixin\" title=\"django.views.generic.edit.FormMixin\"><code class=\"xref py py-class docutils literal notranslate\">django.views.generic.edit.FormMixin</code></a></p></li>\n<li><p><a class=\"reference internal\" href=\"/sv/6.0/ref/class-based-views/mixins-editing/#django.views.generic.edit.ProcessFormView\" title=\"django.views.generic.edit.ProcessFormView\"><code class=\"xref py py-class docutils literal notranslate\">django.views.generic.edit.ProcessFormView</code></a></p></li>\n<li><p><a class=\"reference internal\" href=\"/sv/6.0/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\">django.views.generic.base.View</code></a></p></li>\n</ul>\n<p><strong>Exempel myapp/forms.py</strong>:</p>\n<div class=\"code-block\" data-language=\"default\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Code</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Code code\"><code><span class=\"kn\">from</span> <span class=\"nn\">django</span> <span class=\"kn\">import</span> forms\n\n\n<span class=\"k\">class</span> <span class=\"nc\">ContactForm</span><span class=\"p\">(</span>forms<span class=\"o\">.</span>Form<span class=\"p\">):</span>\n    name <span class=\"o\">=</span> forms<span class=\"o\">.</span>CharField<span class=\"p\">()</span>\n    message <span class=\"o\">=</span> forms<span class=\"o\">.</span>CharField<span class=\"p\">(</span>widget<span class=\"o\">=</span>forms<span class=\"o\">.</span>Textarea<span class=\"p\">)</span>\n\n    <span class=\"k\">def</span> <span class=\"nf\">send_email</span><span class=\"p\">(</span><span class=\"bp\">self</span><span class=\"p\">):</span>\n        <span class=\"c1\"># send email using the self.cleaned_data dictionary</span>\n        <span class=\"k\">pass</span>\n</code></pre></div>\n<p><strong>Exempel myapp/views.py</strong>:</p>\n<div class=\"code-block\" data-language=\"default\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Code</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Code code\"><code><span class=\"kn\">from</span> <span class=\"nn\">myapp.forms</span> <span class=\"kn\">import</span> ContactForm\n<span class=\"kn\">from</span> <span class=\"nn\">django.views.generic.edit</span> <span class=\"kn\">import</span> FormView\n\n\n<span class=\"k\">class</span> <span class=\"nc\">ContactFormView</span><span class=\"p\">(</span>FormView<span class=\"p\">):</span>\n    template_name <span class=\"o\">=</span> <span class=\"s2\">&quot;contact.html&quot;</span>\n    form_class <span class=\"o\">=</span> ContactForm\n    success_url <span class=\"o\">=</span> <span class=\"s2\">&quot;/thanks/&quot;</span>\n\n    <span class=\"k\">def</span> <span class=\"nf\">form_valid</span><span class=\"p\">(</span><span class=\"bp\">self</span><span class=\"p\">,</span> form<span class=\"p\">):</span>\n        <span class=\"c1\"># This method is called when valid form data has been POSTed.</span>\n        <span class=\"c1\"># It should return an HttpResponse.</span>\n        form<span class=\"o\">.</span>send_email<span class=\"p\">()</span>\n        <span class=\"k\">return</span> <span class=\"nb\">super</span><span class=\"p\">()</span><span class=\"o\">.</span>form_valid<span class=\"p\">(</span>form<span class=\"p\">)</span>\n</code></pre></div>\n<p><strong>Exempel myapp/contact.html</strong>:</p>\n<div class=\"code-block\" data-language=\"html+django\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Django template</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Django template code\"><code><span class=\"p\">&lt;</span><span class=\"nt\">form</span> <span class=\"na\">method</span><span class=\"o\">=</span><span class=\"s\">&quot;post&quot;</span><span class=\"p\">&gt;</span><span class=\"cp\">{%</span> <span class=\"k\">csrf_token</span> <span class=\"cp\">%}</span>\n    <span class=\"cp\">{{</span> <span class=\"nv\">form.as_p</span> <span class=\"cp\">}}</span>\n    <span class=\"p\">&lt;</span><span class=\"nt\">input</span> <span class=\"na\">type</span><span class=\"o\">=</span><span class=\"s\">&quot;submit&quot;</span> <span class=\"na\">value</span><span class=\"o\">=</span><span class=\"s\">&quot;Send message&quot;</span><span class=\"p\">&gt;</span>\n<span class=\"p\">&lt;/</span><span class=\"nt\">form</span><span class=\"p\">&gt;</span>\n</code></pre></div>\n</dd></dl>\n\n<dl class=\"py class\">\n<dt class=\"sig sig-object py\" id=\"django.views.generic.edit.BaseFormView\">\n<em class=\"property\"><span class=\"k\">class</span> </em><span class=\"sig-prename descclassname\">django.views.generic.edit.</span><span class=\"sig-name descname\">BaseFormView</span><a class=\"heading-anchor\" href=\"#django.views.generic.edit.BaseFormView\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>En basvy för att visa ett formulär. Den är inte avsedd att användas direkt, utan snarare som en överordnad klass till <a class=\"reference internal\" href=\"#django.views.generic.edit.FormView\" title=\"django.views.generic.edit.FormView\"><code class=\"xref py py-class docutils literal notranslate\">django.views.generic.edit.FormView</code></a> eller andra vyer som visar ett formulär.</p>\n<p><strong>Ancestors (MRO)</strong></p>\n<p>Denna vy ärver metoder och attribut från följande vyer:</p>\n<ul class=\"simple\">\n<li><p><a class=\"reference internal\" href=\"/sv/6.0/ref/class-based-views/mixins-editing/#django.views.generic.edit.FormMixin\" title=\"django.views.generic.edit.FormMixin\"><code class=\"xref py py-class docutils literal notranslate\">django.views.generic.edit.FormMixin</code></a></p></li>\n<li><p><a class=\"reference internal\" href=\"/sv/6.0/ref/class-based-views/mixins-editing/#django.views.generic.edit.ProcessFormView\" title=\"django.views.generic.edit.ProcessFormView\"><code class=\"xref py py-class docutils literal notranslate\">django.views.generic.edit.ProcessFormView</code></a></p></li>\n</ul>\n</dd></dl>\n\n</section>\n<section id=\"createview\">\n<h2><code class=\"docutils literal notranslate\">CreateView</code><a class=\"heading-anchor\" href=\"#createview\"><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.CreateView\">\n<em class=\"property\"><span class=\"k\">class</span> </em><span class=\"sig-prename descclassname\">django.views.generic.edit.</span><span class=\"sig-name descname\">CreateView</span><a class=\"heading-anchor\" href=\"#django.views.generic.edit.CreateView\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>En vy som visar ett formulär för att skapa ett objekt, visa formuläret igen med valideringsfel (om det finns några) och spara objektet.</p>\n<p><strong>Ancestors (MRO)</strong></p>\n<p>Denna vy ärver metoder och attribut från följande vyer:</p>\n<ul class=\"simple\">\n<li><p><a class=\"reference internal\" href=\"/sv/6.0/ref/class-based-views/mixins-single-object/#django.views.generic.detail.SingleObjectTemplateResponseMixin\" title=\"django.views.generic.detail.SingleObjectTemplateResponseMixin\"><code class=\"xref py py-class docutils literal notranslate\">django.views.generic.detail.SingleObjectTemplateResponseMixin</code></a></p></li>\n<li><p><a class=\"reference internal\" href=\"/sv/6.0/ref/class-based-views/mixins-simple/#django.views.generic.base.TemplateResponseMixin\" title=\"django.views.generic.base.TemplateResponseMixin\"><code class=\"xref py py-class docutils literal notranslate\">django.views.generic.base.TemplateResponseMixin</code></a></p></li>\n<li><p><a class=\"reference internal\" href=\"#django.views.generic.edit.BaseCreateView\" title=\"django.views.generic.edit.BaseCreateView\"><code class=\"xref py py-class docutils literal notranslate\">django.views.generic.edit.BaseCreateView</code></a></p></li>\n<li><p><a class=\"reference internal\" href=\"/sv/6.0/ref/class-based-views/mixins-editing/#django.views.generic.edit.ModelFormMixin\" title=\"django.views.generic.edit.ModelFormMixin\"><code class=\"xref py py-class docutils literal notranslate\">django.views.generic.edit.ModelFormMixin</code></a></p></li>\n<li><p><a class=\"reference internal\" href=\"/sv/6.0/ref/class-based-views/mixins-editing/#django.views.generic.edit.FormMixin\" title=\"django.views.generic.edit.FormMixin\"><code class=\"xref py py-class docutils literal notranslate\">django.views.generic.edit.FormMixin</code></a></p></li>\n<li><p><a class=\"reference internal\" href=\"/sv/6.0/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\">django.views.generic.detail.SingleObjectMixin</code></a></p></li>\n<li><p><a class=\"reference internal\" href=\"/sv/6.0/ref/class-based-views/mixins-editing/#django.views.generic.edit.ProcessFormView\" title=\"django.views.generic.edit.ProcessFormView\"><code class=\"xref py py-class docutils literal notranslate\">django.views.generic.edit.ProcessFormView</code></a></p></li>\n<li><p><a class=\"reference internal\" href=\"/sv/6.0/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\">django.views.generic.base.View</code></a></p></li>\n</ul>\n<p><strong>Attribut</strong></p>\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.views.generic.edit.CreateView.template_name_suffix\">\n<span class=\"sig-name descname\">template_name_suffix</span><a class=\"heading-anchor\" href=\"#django.views.generic.edit.CreateView.template_name_suffix\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Sidan <code class=\"docutils literal notranslate\">CreateView</code> som visas för en <code class=\"docutils literal notranslate\">GET</code>-begäran använder ett <code class=\"docutils literal notranslate\">template_name_suffix</code> på <code class=\"docutils literal notranslate\">'_form</code>. Om man t.ex. ändrar detta attribut till <code class=\"docutils literal notranslate\">'_create_form'</code> för en vy som skapar objekt för exempelmodellen <code class=\"docutils literal notranslate\">Author</code> skulle standardnamnet <code class=\"docutils literal notranslate\">template_name</code> bli <code class=\"docutils literal notranslate\">'myapp/author_create_form.html'</code>.</p>\n</dd></dl>\n\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.views.generic.edit.CreateView.object\">\n<span class=\"sig-name descname\">object</span><a class=\"heading-anchor\" href=\"#django.views.generic.edit.CreateView.object\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>När du använder <code class=\"docutils literal notranslate\">CreateView</code> har du tillgång till <code class=\"docutils literal notranslate\">self.object</code>, som är det objekt som skapas. Om objektet inte har skapats ännu kommer värdet att vara <code class=\"docutils literal notranslate\">None</code>.</p>\n</dd></dl>\n\n<p><strong>Exempel myapp/views.py</strong>:</p>\n<div class=\"code-block\" data-language=\"default\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Code</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Code code\"><code><span class=\"kn\">from</span> <span class=\"nn\">django.views.generic.edit</span> <span class=\"kn\">import</span> CreateView\n<span class=\"kn\">from</span> <span class=\"nn\">myapp.models</span> <span class=\"kn\">import</span> Author\n\n\n<span class=\"k\">class</span> <span class=\"nc\">AuthorCreateView</span><span class=\"p\">(</span>CreateView<span class=\"p\">):</span>\n    model <span class=\"o\">=</span> Author\n    fields <span class=\"o\">=</span> <span class=\"p\">[</span><span class=\"s2\">&quot;name&quot;</span><span class=\"p\">]</span>\n</code></pre></div>\n<p><strong>Exempel myapp/author_form.html</strong>:</p>\n<div class=\"code-block\" data-language=\"html+django\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Django template</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Django template code\"><code><span class=\"p\">&lt;</span><span class=\"nt\">form</span> <span class=\"na\">method</span><span class=\"o\">=</span><span class=\"s\">&quot;post&quot;</span><span class=\"p\">&gt;</span><span class=\"cp\">{%</span> <span class=\"k\">csrf_token</span> <span class=\"cp\">%}</span>\n    <span class=\"cp\">{{</span> <span class=\"nv\">form.as_p</span> <span class=\"cp\">}}</span>\n    <span class=\"p\">&lt;</span><span class=\"nt\">input</span> <span class=\"na\">type</span><span class=\"o\">=</span><span class=\"s\">&quot;submit&quot;</span> <span class=\"na\">value</span><span class=\"o\">=</span><span class=\"s\">&quot;Save&quot;</span><span class=\"p\">&gt;</span>\n<span class=\"p\">&lt;/</span><span class=\"nt\">form</span><span class=\"p\">&gt;</span>\n</code></pre></div>\n</dd></dl>\n\n<dl class=\"py class\">\n<dt class=\"sig sig-object py\" id=\"django.views.generic.edit.BaseCreateView\">\n<em class=\"property\"><span class=\"k\">class</span> </em><span class=\"sig-prename descclassname\">django.views.generic.edit.</span><span class=\"sig-name descname\">BaseCreateView</span><a class=\"heading-anchor\" href=\"#django.views.generic.edit.BaseCreateView\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>En basvy för att skapa en ny objektinstans. Den är inte avsedd att användas direkt, utan snarare som en överordnad klass till <a class=\"reference internal\" href=\"#django.views.generic.edit.CreateView\" title=\"django.views.generic.edit.CreateView\"><code class=\"xref py py-class docutils literal notranslate\">django.views.generic.edit.CreateView</code></a>.</p>\n<p><strong>Ancestors (MRO)</strong></p>\n<p>Denna vy ärver metoder och attribut från följande vyer:</p>\n<ul class=\"simple\">\n<li><p><a class=\"reference internal\" href=\"/sv/6.0/ref/class-based-views/mixins-editing/#django.views.generic.edit.ModelFormMixin\" title=\"django.views.generic.edit.ModelFormMixin\"><code class=\"xref py py-class docutils literal notranslate\">django.views.generic.edit.ModelFormMixin</code></a></p></li>\n<li><p><a class=\"reference internal\" href=\"/sv/6.0/ref/class-based-views/mixins-editing/#django.views.generic.edit.ProcessFormView\" title=\"django.views.generic.edit.ProcessFormView\"><code class=\"xref py py-class docutils literal notranslate\">django.views.generic.edit.ProcessFormView</code></a></p></li>\n</ul>\n<p><strong>Metoder</strong></p>\n<dl class=\"py method\">\n<dt class=\"sig sig-object py\" id=\"django.views.generic.edit.BaseCreateView.get\">\n<span class=\"sig-name descname\">get</span><span class=\"sig-paren\">(</span><em class=\"sig-param\">request</em>, <em class=\"sig-param\"><span class=\"o\">*</span>args</em>, <em class=\"sig-param\"><span class=\"o\">**</span>kwargs</em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.views.generic.edit.BaseCreateView.get\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Ställer in den aktuella objektinstansen (<code class=\"docutils literal notranslate\">self.object</code>) till <code class=\"docutils literal notranslate\">None</code>.</p>\n</dd></dl>\n\n<dl class=\"py method\">\n<dt class=\"sig sig-object py\" id=\"django.views.generic.edit.BaseCreateView.post\">\n<span class=\"sig-name descname\">post</span><span class=\"sig-paren\">(</span><em class=\"sig-param\">request</em>, <em class=\"sig-param\"><span class=\"o\">*</span>args</em>, <em class=\"sig-param\"><span class=\"o\">**</span>kwargs</em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.views.generic.edit.BaseCreateView.post\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Ställer in den aktuella objektinstansen (<code class=\"docutils literal notranslate\">self.object</code>) till <code class=\"docutils literal notranslate\">None</code>.</p>\n</dd></dl>\n\n</dd></dl>\n\n</section>\n<section id=\"updateview\">\n<h2><code class=\"docutils literal notranslate\">UpdateView</code><a class=\"heading-anchor\" href=\"#updateview\"><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.UpdateView\">\n<em class=\"property\"><span class=\"k\">class</span> </em><span class=\"sig-prename descclassname\">django.views.generic.edit.</span><span class=\"sig-name descname\">UpdateView</span><a class=\"heading-anchor\" href=\"#django.views.generic.edit.UpdateView\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>En vy som visar ett formulär för att redigera ett befintligt objekt, visa formuläret igen med valideringsfel (om det finns några) och spara ändringar i objektet. Här används ett formulär som automatiskt genereras från objektets modellklass (om inte en formulärklass anges manuellt).</p>\n<p><strong>Ancestors (MRO)</strong></p>\n<p>Denna vy ärver metoder och attribut från följande vyer:</p>\n<ul class=\"simple\">\n<li><p><a class=\"reference internal\" href=\"/sv/6.0/ref/class-based-views/mixins-single-object/#django.views.generic.detail.SingleObjectTemplateResponseMixin\" title=\"django.views.generic.detail.SingleObjectTemplateResponseMixin\"><code class=\"xref py py-class docutils literal notranslate\">django.views.generic.detail.SingleObjectTemplateResponseMixin</code></a></p></li>\n<li><p><a class=\"reference internal\" href=\"/sv/6.0/ref/class-based-views/mixins-simple/#django.views.generic.base.TemplateResponseMixin\" title=\"django.views.generic.base.TemplateResponseMixin\"><code class=\"xref py py-class docutils literal notranslate\">django.views.generic.base.TemplateResponseMixin</code></a></p></li>\n<li><p><a class=\"reference internal\" href=\"#django.views.generic.edit.BaseUpdateView\" title=\"django.views.generic.edit.BaseUpdateView\"><code class=\"xref py py-class docutils literal notranslate\">django.views.generic.edit.BaseUpdateView</code></a></p></li>\n<li><p><a class=\"reference internal\" href=\"/sv/6.0/ref/class-based-views/mixins-editing/#django.views.generic.edit.ModelFormMixin\" title=\"django.views.generic.edit.ModelFormMixin\"><code class=\"xref py py-class docutils literal notranslate\">django.views.generic.edit.ModelFormMixin</code></a></p></li>\n<li><p><a class=\"reference internal\" href=\"/sv/6.0/ref/class-based-views/mixins-editing/#django.views.generic.edit.FormMixin\" title=\"django.views.generic.edit.FormMixin\"><code class=\"xref py py-class docutils literal notranslate\">django.views.generic.edit.FormMixin</code></a></p></li>\n<li><p><a class=\"reference internal\" href=\"/sv/6.0/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\">django.views.generic.detail.SingleObjectMixin</code></a></p></li>\n<li><p><a class=\"reference internal\" href=\"/sv/6.0/ref/class-based-views/mixins-editing/#django.views.generic.edit.ProcessFormView\" title=\"django.views.generic.edit.ProcessFormView\"><code class=\"xref py py-class docutils literal notranslate\">django.views.generic.edit.ProcessFormView</code></a></p></li>\n<li><p><a class=\"reference internal\" href=\"/sv/6.0/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\">django.views.generic.base.View</code></a></p></li>\n</ul>\n<p><strong>Attribut</strong></p>\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.views.generic.edit.UpdateView.template_name_suffix\">\n<span class=\"sig-name descname\">template_name_suffix</span><a class=\"heading-anchor\" href=\"#django.views.generic.edit.UpdateView.template_name_suffix\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Sidan <code class=\"docutils literal notranslate\">UpdateView</code> som visas för en <code class=\"docutils literal notranslate\">GET</code>-begäran använder ett <code class=\"docutils literal notranslate\">template_name_suffix</code> på <code class=\"docutils literal notranslate\">'_form</code>. Om man t.ex. ändrar detta attribut till <code class=\"docutils literal notranslate\">'_update_form'</code> för en vy som uppdaterar objekt för exempelmodellen <code class=\"docutils literal notranslate\">Author</code> skulle standardnamnet <code class=\"docutils literal notranslate\">template_name</code> bli <code class=\"docutils literal notranslate\">'myapp/author_update_form.html'</code>.</p>\n</dd></dl>\n\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.views.generic.edit.UpdateView.object\">\n<span class=\"sig-name descname\">object</span><a class=\"heading-anchor\" href=\"#django.views.generic.edit.UpdateView.object\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>När du använder <code class=\"docutils literal notranslate\">UpdateView</code> har du tillgång till <code class=\"docutils literal notranslate\">self.object</code>, som är det objekt som uppdateras.</p>\n</dd></dl>\n\n<p><strong>Exempel myapp/views.py</strong>:</p>\n<div class=\"code-block\" data-language=\"default\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Code</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Code code\"><code><span class=\"kn\">from</span> <span class=\"nn\">django.views.generic.edit</span> <span class=\"kn\">import</span> UpdateView\n<span class=\"kn\">from</span> <span class=\"nn\">myapp.models</span> <span class=\"kn\">import</span> Author\n\n\n<span class=\"k\">class</span> <span class=\"nc\">AuthorUpdateView</span><span class=\"p\">(</span>UpdateView<span class=\"p\">):</span>\n    model <span class=\"o\">=</span> Author\n    fields <span class=\"o\">=</span> <span class=\"p\">[</span><span class=\"s2\">&quot;name&quot;</span><span class=\"p\">]</span>\n    template_name_suffix <span class=\"o\">=</span> <span class=\"s2\">&quot;_update_form&quot;</span>\n</code></pre></div>\n<p><strong>Exempel myapp/author_update_form.html</strong>:</p>\n<div class=\"code-block\" data-language=\"html+django\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Django template</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Django template code\"><code><span class=\"p\">&lt;</span><span class=\"nt\">form</span> <span class=\"na\">method</span><span class=\"o\">=</span><span class=\"s\">&quot;post&quot;</span><span class=\"p\">&gt;</span><span class=\"cp\">{%</span> <span class=\"k\">csrf_token</span> <span class=\"cp\">%}</span>\n    <span class=\"cp\">{{</span> <span class=\"nv\">form.as_p</span> <span class=\"cp\">}}</span>\n    <span class=\"p\">&lt;</span><span class=\"nt\">input</span> <span class=\"na\">type</span><span class=\"o\">=</span><span class=\"s\">&quot;submit&quot;</span> <span class=\"na\">value</span><span class=\"o\">=</span><span class=\"s\">&quot;Update&quot;</span><span class=\"p\">&gt;</span>\n<span class=\"p\">&lt;/</span><span class=\"nt\">form</span><span class=\"p\">&gt;</span>\n</code></pre></div>\n</dd></dl>\n\n<dl class=\"py class\">\n<dt class=\"sig sig-object py\" id=\"django.views.generic.edit.BaseUpdateView\">\n<em class=\"property\"><span class=\"k\">class</span> </em><span class=\"sig-prename descclassname\">django.views.generic.edit.</span><span class=\"sig-name descname\">BaseUpdateView</span><a class=\"heading-anchor\" href=\"#django.views.generic.edit.BaseUpdateView\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>En basvy för uppdatering av en befintlig objektinstans. Den är inte avsedd att användas direkt, utan snarare som en överordnad klass till <a class=\"reference internal\" href=\"#django.views.generic.edit.UpdateView\" title=\"django.views.generic.edit.UpdateView\"><code class=\"xref py py-class docutils literal notranslate\">django.views.generic.edit.UpdateView</code></a>.</p>\n<p><strong>Ancestors (MRO)</strong></p>\n<p>Denna vy ärver metoder och attribut från följande vyer:</p>\n<ul class=\"simple\">\n<li><p><a class=\"reference internal\" href=\"/sv/6.0/ref/class-based-views/mixins-editing/#django.views.generic.edit.ModelFormMixin\" title=\"django.views.generic.edit.ModelFormMixin\"><code class=\"xref py py-class docutils literal notranslate\">django.views.generic.edit.ModelFormMixin</code></a></p></li>\n<li><p><a class=\"reference internal\" href=\"/sv/6.0/ref/class-based-views/mixins-editing/#django.views.generic.edit.ProcessFormView\" title=\"django.views.generic.edit.ProcessFormView\"><code class=\"xref py py-class docutils literal notranslate\">django.views.generic.edit.ProcessFormView</code></a></p></li>\n</ul>\n<p><strong>Metoder</strong></p>\n<dl class=\"py method\">\n<dt class=\"sig sig-object py\" id=\"django.views.generic.edit.BaseUpdateView.get\">\n<span class=\"sig-name descname\">get</span><span class=\"sig-paren\">(</span><em class=\"sig-param\">request</em>, <em class=\"sig-param\"><span class=\"o\">*</span>args</em>, <em class=\"sig-param\"><span class=\"o\">**</span>kwargs</em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.views.generic.edit.BaseUpdateView.get\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Ställer in den aktuella objektinstansen (<code class=\"docutils literal notranslate\">self.object</code>).</p>\n</dd></dl>\n\n<dl class=\"py method\">\n<dt class=\"sig sig-object py\" id=\"django.views.generic.edit.BaseUpdateView.post\">\n<span class=\"sig-name descname\">post</span><span class=\"sig-paren\">(</span><em class=\"sig-param\">request</em>, <em class=\"sig-param\"><span class=\"o\">*</span>args</em>, <em class=\"sig-param\"><span class=\"o\">**</span>kwargs</em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.views.generic.edit.BaseUpdateView.post\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Ställer in den aktuella objektinstansen (<code class=\"docutils literal notranslate\">self.object</code>).</p>\n</dd></dl>\n\n</dd></dl>\n\n</section>\n<section id=\"deleteview\">\n<h2><code class=\"docutils literal notranslate\">DeleteView</code><a class=\"heading-anchor\" href=\"#deleteview\"><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.DeleteView\">\n<em class=\"property\"><span class=\"k\">class</span> </em><span class=\"sig-prename descclassname\">django.views.generic.edit.</span><span class=\"sig-name descname\">DeleteView</span><a class=\"heading-anchor\" href=\"#django.views.generic.edit.DeleteView\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>En vy som visar en bekräftelsesida och raderar ett befintligt objekt. Det angivna objektet kommer endast att raderas om förfrågningsmetoden är <code class=\"docutils literal notranslate\">POST</code>. Om denna vy hämtas via <code class=\"docutils literal notranslate\">GET</code> kommer den att visa en bekräftelsesida som bör innehålla ett formulär som POSTAR till samma URL.</p>\n<p><strong>Ancestors (MRO)</strong></p>\n<p>Denna vy ärver metoder och attribut från följande vyer:</p>\n<ul class=\"simple\">\n<li><p><a class=\"reference internal\" href=\"/sv/6.0/ref/class-based-views/mixins-single-object/#django.views.generic.detail.SingleObjectTemplateResponseMixin\" title=\"django.views.generic.detail.SingleObjectTemplateResponseMixin\"><code class=\"xref py py-class docutils literal notranslate\">django.views.generic.detail.SingleObjectTemplateResponseMixin</code></a></p></li>\n<li><p><a class=\"reference internal\" href=\"/sv/6.0/ref/class-based-views/mixins-simple/#django.views.generic.base.TemplateResponseMixin\" title=\"django.views.generic.base.TemplateResponseMixin\"><code class=\"xref py py-class docutils literal notranslate\">django.views.generic.base.TemplateResponseMixin</code></a></p></li>\n<li><p><a class=\"reference internal\" href=\"#django.views.generic.edit.BaseDeleteView\" title=\"django.views.generic.edit.BaseDeleteView\"><code class=\"xref py py-class docutils literal notranslate\">django.views.generic.edit.BaseDeleteView</code></a></p></li>\n<li><p><a class=\"reference internal\" href=\"/sv/6.0/ref/class-based-views/mixins-editing/#django.views.generic.edit.DeletionMixin\" title=\"django.views.generic.edit.DeletionMixin\"><code class=\"xref py py-class docutils literal notranslate\">django.views.generic.edit.DeletionMixin</code></a></p></li>\n<li><p><a class=\"reference internal\" href=\"/sv/6.0/ref/class-based-views/mixins-editing/#django.views.generic.edit.FormMixin\" title=\"django.views.generic.edit.FormMixin\"><code class=\"xref py py-class docutils literal notranslate\">django.views.generic.edit.FormMixin</code></a></p></li>\n<li><p><a class=\"reference internal\" href=\"/sv/6.0/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\">django.views.generic.base.ContextMixin</code></a></p></li>\n<li><p><a class=\"reference internal\" href=\"/sv/6.0/ref/class-based-views/generic-display/#django.views.generic.detail.BaseDetailView\" title=\"django.views.generic.detail.BaseDetailView\"><code class=\"xref py py-class docutils literal notranslate\">django.views.generic.detail.BaseDetailView</code></a></p></li>\n<li><p><a class=\"reference internal\" href=\"/sv/6.0/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\">django.views.generic.detail.SingleObjectMixin</code></a></p></li>\n<li><p><a class=\"reference internal\" href=\"/sv/6.0/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\">django.views.generic.base.View</code></a></p></li>\n</ul>\n<p><strong>Attribut</strong></p>\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.views.generic.edit.DeleteView.form_class\">\n<span class=\"sig-name descname\">form_class</span><a class=\"heading-anchor\" href=\"#django.views.generic.edit.DeleteView.form_class\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Ärvd från <a class=\"reference internal\" href=\"#django.views.generic.edit.BaseDeleteView\" title=\"django.views.generic.edit.BaseDeleteView\"><code class=\"xref py py-class docutils literal notranslate\">BaseDeleteView</code></a>. Den formulärklass som kommer att användas för att bekräfta begäran. Som standard <a class=\"reference internal\" href=\"/sv/6.0/ref/forms/api/#django.forms.Form\" title=\"django.forms.Form\"><code class=\"xref py py-class docutils literal notranslate\">django.forms.Form</code></a>, vilket resulterar i ett tomt formulär som alltid är giltigt.</p>\n<p>Genom att tillhandahålla en egen subklass av <code class=\"docutils literal notranslate\">Form</code> kan du lägga till ytterligare krav, t.ex. en kryssruta för bekräftelse.</p>\n</dd></dl>\n\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.views.generic.edit.DeleteView.template_name_suffix\">\n<span class=\"sig-name descname\">template_name_suffix</span><a class=\"heading-anchor\" href=\"#django.views.generic.edit.DeleteView.template_name_suffix\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Sidan <code class=\"docutils literal notranslate\">DeleteView</code> som visas för en <code class=\"docutils literal notranslate\">GET</code> begäran använder ett <code class=\"docutils literal notranslate\">template_name_suffix</code> av <code class=\"docutils literal notranslate\">'_confirm_delete</code>. Om man t.ex. ändrar detta attribut till <code class=\"docutils literal notranslate\">'_check_delete</code> för en vy som raderar objekt för exempelmodellen <code class=\"docutils literal notranslate\">Author</code> skulle standardnamnet på <code class=\"docutils literal notranslate\">template_name</code> bli <code class=\"docutils literal notranslate\">'myapp/author_check_delete.html'</code>.</p>\n</dd></dl>\n\n<p><strong>Exempel myapp/views.py</strong>:</p>\n<div class=\"code-block\" data-language=\"default\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Code</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Code code\"><code><span class=\"kn\">from</span> <span class=\"nn\">django.urls</span> <span class=\"kn\">import</span> reverse_lazy\n<span class=\"kn\">from</span> <span class=\"nn\">django.views.generic.edit</span> <span class=\"kn\">import</span> DeleteView\n<span class=\"kn\">from</span> <span class=\"nn\">myapp.models</span> <span class=\"kn\">import</span> Author\n\n\n<span class=\"k\">class</span> <span class=\"nc\">AuthorDeleteView</span><span class=\"p\">(</span>DeleteView<span class=\"p\">):</span>\n    model <span class=\"o\">=</span> Author\n    success_url <span class=\"o\">=</span> reverse_lazy<span class=\"p\">(</span><span class=\"s2\">&quot;author-list&quot;</span><span class=\"p\">)</span>\n</code></pre></div>\n<p><strong>Exempel myapp/author_confirm_delete.html</strong>:</p>\n<div class=\"code-block\" data-language=\"html+django\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Django template</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Django template code\"><code><span class=\"p\">&lt;</span><span class=\"nt\">form</span> <span class=\"na\">method</span><span class=\"o\">=</span><span class=\"s\">&quot;post&quot;</span><span class=\"p\">&gt;</span><span class=\"cp\">{%</span> <span class=\"k\">csrf_token</span> <span class=\"cp\">%}</span>\n    <span class=\"p\">&lt;</span><span class=\"nt\">p</span><span class=\"p\">&gt;</span>Are you sure you want to delete &quot;<span class=\"cp\">{{</span> <span class=\"nv\">object</span> <span class=\"cp\">}}</span>&quot;?<span class=\"p\">&lt;/</span><span class=\"nt\">p</span><span class=\"p\">&gt;</span>\n    <span class=\"cp\">{{</span> <span class=\"nv\">form</span> <span class=\"cp\">}}</span>\n    <span class=\"p\">&lt;</span><span class=\"nt\">input</span> <span class=\"na\">type</span><span class=\"o\">=</span><span class=\"s\">&quot;submit&quot;</span> <span class=\"na\">value</span><span class=\"o\">=</span><span class=\"s\">&quot;Confirm&quot;</span><span class=\"p\">&gt;</span>\n<span class=\"p\">&lt;/</span><span class=\"nt\">form</span><span class=\"p\">&gt;</span>\n</code></pre></div>\n</dd></dl>\n\n<dl class=\"py class\">\n<dt class=\"sig sig-object py\" id=\"django.views.generic.edit.BaseDeleteView\">\n<em class=\"property\"><span class=\"k\">class</span> </em><span class=\"sig-prename descclassname\">django.views.generic.edit.</span><span class=\"sig-name descname\">BaseDeleteView</span><a class=\"heading-anchor\" href=\"#django.views.generic.edit.BaseDeleteView\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>En basvy för att radera en objektinstans. Den är inte avsedd att användas direkt, utan snarare som en överordnad klass till <a class=\"reference internal\" href=\"#django.views.generic.edit.DeleteView\" title=\"django.views.generic.edit.DeleteView\"><code class=\"xref py py-class docutils literal notranslate\">django.views.generic.edit.DeleteView</code></a>.</p>\n<p><strong>Ancestors (MRO)</strong></p>\n<p>Denna vy ärver metoder och attribut från följande vyer:</p>\n<ul class=\"simple\">\n<li><p><a class=\"reference internal\" href=\"/sv/6.0/ref/class-based-views/mixins-editing/#django.views.generic.edit.DeletionMixin\" title=\"django.views.generic.edit.DeletionMixin\"><code class=\"xref py py-class docutils literal notranslate\">django.views.generic.edit.DeletionMixin</code></a></p></li>\n<li><p><a class=\"reference internal\" href=\"/sv/6.0/ref/class-based-views/mixins-editing/#django.views.generic.edit.FormMixin\" title=\"django.views.generic.edit.FormMixin\"><code class=\"xref py py-class docutils literal notranslate\">django.views.generic.edit.FormMixin</code></a></p></li>\n<li><p><a class=\"reference internal\" href=\"/sv/6.0/ref/class-based-views/generic-display/#django.views.generic.detail.BaseDetailView\" title=\"django.views.generic.detail.BaseDetailView\"><code class=\"xref py py-class docutils literal notranslate\">django.views.generic.detail.BaseDetailView</code></a></p></li>\n</ul>\n</dd></dl>\n\n</section>","rootId":"generic-editing-views","toc":[{"title":"FormView","anchor":"formview","children":[]},{"title":"CreateView","anchor":"createview","children":[]},{"title":"UpdateView","anchor":"updateview","children":[]},{"title":"DeleteView","anchor":"deleteview","children":[]}],"breadcrumbs":[{"docname":"ref/index","title":"API-referens","url":"/sv/6.0/ref/"},{"docname":"ref/class-based-views/index","title":"Inbyggt API för klassbaserade vyer","url":"/sv/6.0/ref/class-based-views/"}],"prev":{"docname":"ref/class-based-views/generic-display","title":"Generiska displayvyer","url":"/sv/6.0/ref/class-based-views/generic-display/"},"next":{"docname":"ref/class-based-views/generic-date-based","title":"Generisk datumvisning","url":"/sv/6.0/ref/class-based-views/generic-date-based/"},"formats":{"html":"/sv/6.0/ref/class-based-views/generic-editing/","markdown":"/sv/6.0/ref/class-based-views/generic-editing.md","json":"/sv/6.0/ref/class-based-views/generic-editing.json"},"source":"https://github.com/django/django/blob/stable/6.0.x/docs/ref/class-based-views/generic-editing.txt","official":"https://docs.djangoproject.com/sv/6.0/ref/class-based-views/generic-editing/","inVersions":["6.1","6.0","5.2"],"inLocales":["en","sv","zh-hans","ga","fr","ja","id","it","pt-br","ko","es","el","pl"]}