{"title":"Signaler","version":"6.0","locale":"sv","docname":"ref/signals","url":"/sv/6.0/ref/signals/","canonical":"https://djangodocs.dev/sv/6.0/ref/signals/","summary":"En lista över alla signaler som Django skickar. Alla inbyggda signaler skickas med hjälp av send() -metoden. Se även Se dokumentationen för signal dispatcher för…","html":"<h1>Signaler<a class=\"heading-anchor\" href=\"#signals\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h1>\n<p>En lista över alla signaler som Django skickar. Alla inbyggda signaler skickas med hjälp av <a class=\"reference internal\" href=\"/sv/6.0/topics/signals/#django.dispatch.Signal.send\" title=\"django.dispatch.Signal.send\"><code class=\"xref py py-meth docutils literal notranslate\"><span class=\"pre\">send()</span></code></a>-metoden.</p>\n<aside class=\"admonition admonition-seealso\">\n<p class=\"admonition-title\">Se även</p>\n<p>Se dokumentationen för <a class=\"reference internal\" href=\"/sv/6.0/topics/signals/\"><span class=\"doc\">signal dispatcher</span></a> för information om hur du registrerar dig för och tar emot signaler.</p>\n<p>Ramverket <a class=\"reference internal\" href=\"/sv/6.0/topics/auth/\"><span class=\"doc\">authentication</span></a> sänder <a class=\"reference internal\" href=\"/sv/6.0/ref/contrib/auth/#topics-auth-signals\"><span class=\"std std-ref\">signaler när en användare är inloggad/utloggad</span></a>.</p>\n</aside>\n<section id=\"module-django.db.models.signals\">\n<span id=\"model-signals\"></span><h2>Modellsignaler<a class=\"heading-anchor\" href=\"#module-django.db.models.signals\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<p>Modulen <a class=\"reference internal\" href=\"#module-django.db.models.signals\" title=\"django.db.models.signals: Signals sent by the model system.\"><code class=\"xref py py-mod docutils literal notranslate\"><span class=\"pre\">django.db.models.signals</span></code></a> definierar en uppsättning signaler som skickas av modellsystemet.</p>\n<aside class=\"admonition admonition-warning\" role=\"note\">\n<p class=\"admonition-title\">Varning</p>\n<p>Signaler kan göra din kod svårare att underhålla. Överväg att implementera en hjälpmetod på en <a class=\"reference internal\" href=\"/sv/6.0/topics/db/managers/#custom-managers\"><span class=\"std std-ref\">custom manager</span></a>, för att både uppdatera dina modeller och utföra ytterligare logik, eller annars <a class=\"reference internal\" href=\"/sv/6.0/topics/db/models/#overriding-model-methods\"><span class=\"std std-ref\">overriding model methods</span></a> innan du använder modellsignaler.</p>\n</aside>\n<aside class=\"admonition admonition-warning\" role=\"note\">\n<p class=\"admonition-title\">Varning</p>\n<p>Många av dessa signaler skickas av olika modellmetoder som <code class=\"docutils literal notranslate\"><span class=\"pre\">__init__()</span></code> eller <a class=\"reference internal\" href=\"/sv/6.0/ref/models/instances/#django.db.models.Model.save\" title=\"django.db.models.Model.save\"><code class=\"xref py py-meth docutils literal notranslate\"><span class=\"pre\">save()</span></code></a> som du kan åsidosätta i din egen kod.</p>\n<p>Om du åsidosätter dessa metoder i din modell måste du anropa den överordnade klassens metoder för att dessa signaler ska skickas.</p>\n<p>Note also that Django stores signal handlers as weak references by default,\nso if your handler is a local function, it may be garbage collected. To\nprevent this, pass <code class=\"docutils literal notranslate\"><span class=\"pre\">weak=False</span></code> when you call the signal’s\n<a class=\"reference internal\" href=\"/sv/6.0/topics/signals/#django.dispatch.Signal.connect\" title=\"django.dispatch.Signal.connect\"><code class=\"xref py py-meth docutils literal notranslate\"><span class=\"pre\">connect()</span></code></a>.</p>\n</aside>\n<aside class=\"admonition admonition-note\" role=\"note\">\n<p class=\"admonition-title\">Observera</p>\n<p>Modellsignaler <code class=\"docutils literal notranslate\"><span class=\"pre\">avsändare</span></code>-modeller kan refereras till när man ansluter en mottagare genom att ange dess fullständiga applikationsetikett. Till exempel: kan en <code class=\"docutils literal notranslate\"><span class=\"pre\">Question</span></code>-modell som definieras i <code class=\"docutils literal notranslate\"><span class=\"pre\">polls</span></code>-applikationen refereras som <code class=\"docutils literal notranslate\"><span class=\"pre\">'polls.Question'</span></code>. Denna typ av referens kan vara ganska praktisk när man hanterar cirkulära importberoenden och utbytbara modeller.</p>\n</aside>\n<section id=\"pre-init\">\n<h3><code class=\"docutils literal notranslate\"><span class=\"pre\">pre_init</span></code><a class=\"heading-anchor\" href=\"#pre-init\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.db.models.signals.pre_init\">\n<span class=\"sig-prename descclassname\"><span class=\"pre\">django.db.models.signals.</span></span><span class=\"sig-name descname\"><span class=\"pre\">pre_init</span></span><a class=\"heading-anchor\" href=\"#django.db.models.signals.pre_init\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p>När du instansierar en Django-modell skickas den här signalen i början av modellens metod <code class=\"docutils literal notranslate\"><span class=\"pre\">__init__()</span></code>.</p>\n<p>Argument som skickas med denna signal:</p>\n<dl class=\"simple\">\n<dt>avsändare</dt><dd><p>Den modellklass som just fått en instans skapad.</p>\n</dd>\n<dt><code class=\"docutils literal notranslate\"><span class=\"pre\">args</span></code></dt><dd><p>En lista med positionella argument som skickas till <code class=\"docutils literal notranslate\"><span class=\"pre\">__init__()</span></code>.</p>\n</dd>\n<dt><code class=\"docutils literal notranslate\"><span class=\"pre\">kwargs</span></code></dt><dd><p>En ordlista med nyckelordsargument som skickas till <code class=\"docutils literal notranslate\"><span class=\"pre\">__init__()</span></code>.</p>\n</dd>\n</dl>\n<p>Till exempel: har <a class=\"reference internal\" href=\"/sv/6.0/intro/tutorial02/\"><span class=\"doc\">tutorial</span></a> den här raden:</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=\"n\">q</span> <span class=\"o\">=</span> <span class=\"n\">Question</span><span class=\"p\">(</span><span class=\"n\">question_text</span><span class=\"o\">=</span><span class=\"s2\">&quot;What&#39;s new?&quot;</span><span class=\"p\">,</span> <span class=\"n\">pub_date</span><span class=\"o\">=</span><span class=\"n\">timezone</span><span class=\"o\">.</span><span class=\"n\">now</span><span class=\"p\">())</span>\n</code></pre></div>\n<p>De argument som skickas till en <a class=\"reference internal\" href=\"#django.db.models.signals.pre_init\" title=\"django.db.models.signals.pre_init\"><code class=\"xref py py-data docutils literal notranslate\"><span class=\"pre\">pre_init</span></code></a> hanterare skulle vara:</p>\n<div class=\"table-scroll\" role=\"region\" tabindex=\"0\" aria-label=\"Table\"><table class=\"docutils align-default\">\n<thead>\n<tr class=\"row-odd\"><th class=\"head\"><p>Argument</p></th>\n<th class=\"head\"><p>Värde</p></th>\n</tr>\n</thead>\n<tbody>\n<tr class=\"row-even\"><td><p>avsändare</p></td>\n<td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">Fråga</span></code> (själva klassen)</p></td>\n</tr>\n<tr class=\"row-odd\"><td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">args</span></code></p></td>\n<td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">[]</span></code> (en tom lista eftersom det inte fanns några positionella argument som skickades till <code class=\"docutils literal notranslate\"><span class=\"pre\">__init__()</span></code>))</p></td>\n</tr>\n<tr class=\"row-even\"><td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">kwargs</span></code></p></td>\n<td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">{'question_text':</span> <span class=\"pre\">&quot;What's</span> <span class=\"pre\">new?&quot;,</span></code>\n<code class=\"docutils literal notranslate\"><span class=\"pre\">'pub_date':</span> <span class=\"pre\">datetime.datetime(2012,</span> <span class=\"pre\">2,</span> <span class=\"pre\">26,</span> <span class=\"pre\">13,</span> <span class=\"pre\">0,</span> <span class=\"pre\">0,</span> <span class=\"pre\">775217,</span> <span class=\"pre\">tzinfo=datetime.UTC)}</span></code></p></td>\n</tr>\n</tbody>\n</table>\n</div>\n</section>\n<section id=\"post-init\">\n<h3><code class=\"docutils literal notranslate\"><span class=\"pre\">post_init</span></code><a class=\"heading-anchor\" href=\"#post-init\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<dl class=\"py data\">\n<dt class=\"sig sig-object py\" id=\"django.db.models.signals.post_init\">\n<span class=\"sig-prename descclassname\"><span class=\"pre\">django.db.models.signals.</span></span><span class=\"sig-name descname\"><span class=\"pre\">post_init</span></span><a class=\"heading-anchor\" href=\"#django.db.models.signals.post_init\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p>Som pre_init, men den här skickas när metoden <code class=\"docutils literal notranslate\"><span class=\"pre\">__init__()</span></code> är klar.</p>\n<p>Argument som skickas med denna signal:</p>\n<dl>\n<dt>avsändare</dt><dd><p>Som ovan: modellklassen som just har fått en instans skapad.</p>\n</dd>\n<dt><code class=\"docutils literal notranslate\"><span class=\"pre\">instans</span></code></dt><dd><p>Den faktiska instansen av den modell som just har skapats.</p>\n<aside class=\"admonition admonition-note\" role=\"note\">\n<p class=\"admonition-title\">Observera</p>\n<p><a class=\"reference internal\" href=\"/sv/6.0/ref/models/instances/#django.db.models.Model._state\" title=\"django.db.models.Model._state\"><code class=\"xref py py-attr docutils literal notranslate\"><span class=\"pre\">instance._state</span></code></a> ställs inte in innan signalen <code class=\"docutils literal notranslate\"><span class=\"pre\">post_init</span></code> skickas, så attributen <code class=\"docutils literal notranslate\"><span class=\"pre\">_state</span></code> har alltid sina standardvärden. Till exempel: är <code class=\"docutils literal notranslate\"><span class=\"pre\">_state.db</span></code> <code class=\"docutils literal notranslate\"><span class=\"pre\">None</span></code>.</p>\n</aside>\n</dd>\n</dl>\n<aside class=\"admonition admonition-warning\" role=\"note\">\n<p class=\"admonition-title\">Varning</p>\n<p>Av prestandaskäl bör du inte utföra frågor i mottagare av signalerna <code class=\"docutils literal notranslate\"><span class=\"pre\">pre_init</span></code> eller <code class=\"docutils literal notranslate\"><span class=\"pre\">post_init</span></code> eftersom de skulle utföras för varje instans som returneras under iterationen av queryset.</p>\n</aside>\n</section>\n<section id=\"pre-save\">\n<h3><code class=\"docutils literal notranslate\"><span class=\"pre\">pre_save</span></code><a class=\"heading-anchor\" href=\"#pre-save\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<dl class=\"py data\">\n<dt class=\"sig sig-object py\" id=\"django.db.models.signals.pre_save\">\n<span class=\"sig-prename descclassname\"><span class=\"pre\">django.db.models.signals.</span></span><span class=\"sig-name descname\"><span class=\"pre\">pre_save</span></span><a class=\"heading-anchor\" href=\"#django.db.models.signals.pre_save\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p>Detta skickas i början av en modells <a class=\"reference internal\" href=\"/sv/6.0/ref/models/instances/#django.db.models.Model.save\" title=\"django.db.models.Model.save\"><code class=\"xref py py-meth docutils literal notranslate\"><span class=\"pre\">save()</span></code></a>-metod.</p>\n<p>Argument som skickas med denna signal:</p>\n<dl class=\"simple\">\n<dt>avsändare</dt><dd><p>Modellklassen.</p>\n</dd>\n<dt><code class=\"docutils literal notranslate\"><span class=\"pre\">instans</span></code></dt><dd><p>Den faktiska instans som sparas.</p>\n</dd>\n<dt><code class=\"docutils literal notranslate\"><span class=\"pre\">raw</span></code></dt><dd><p>En boolean; <code class=\"docutils literal notranslate\"><span class=\"pre\">True</span></code> om modellen sparas exakt som den presenteras (t.ex. vid laddning av en <a class=\"reference internal\" href=\"/sv/6.0/topics/db/fixtures/#fixtures-explanation\"><span class=\"std std-ref\">fixture</span></a>). Man bör inte fråga/ändra andra poster i databasen eftersom databasen kanske inte är i ett konsekvent tillstånd ännu.</p>\n</dd>\n<dt><code class=\"docutils literal notranslate\"><span class=\"pre\">använder</span></code></dt><dd><p>Det databasalias som används.</p>\n</dd>\n<dt><code class=\"docutils literal notranslate\"><span class=\"pre\">uppdatera_fält</span></code></dt><dd><p>Den uppsättning fält som ska uppdateras enligt <a class=\"reference internal\" href=\"/sv/6.0/ref/models/instances/#django.db.models.Model.save\" title=\"django.db.models.Model.save\"><code class=\"xref py py-meth docutils literal notranslate\"><span class=\"pre\">Model.save()</span></code></a>, eller <code class=\"docutils literal notranslate\"><span class=\"pre\">None</span></code> om <code class=\"docutils literal notranslate\"><span class=\"pre\">update_fields</span></code> inte skickades till <code class=\"docutils literal notranslate\"><span class=\"pre\">save()</span></code>.</p>\n</dd>\n</dl>\n</section>\n<section id=\"post-save\">\n<h3><code class=\"docutils literal notranslate\"><span class=\"pre\">post_save</span></code><a class=\"heading-anchor\" href=\"#post-save\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<dl class=\"py data\">\n<dt class=\"sig sig-object py\" id=\"django.db.models.signals.post_save\">\n<span class=\"sig-prename descclassname\"><span class=\"pre\">django.db.models.signals.</span></span><span class=\"sig-name descname\"><span class=\"pre\">post_save</span></span><a class=\"heading-anchor\" href=\"#django.db.models.signals.post_save\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p>Som <a class=\"reference internal\" href=\"#django.db.models.signals.pre_save\" title=\"django.db.models.signals.pre_save\"><code class=\"xref py py-data docutils literal notranslate\"><span class=\"pre\">pre_save</span></code></a>, men skickas i slutet av metoden <a class=\"reference internal\" href=\"/sv/6.0/ref/models/instances/#django.db.models.Model.save\" title=\"django.db.models.Model.save\"><code class=\"xref py py-meth docutils literal notranslate\"><span class=\"pre\">save()</span></code></a>.</p>\n<p>Argument som skickas med denna signal:</p>\n<dl class=\"simple\">\n<dt>avsändare</dt><dd><p>Modellklassen.</p>\n</dd>\n<dt><code class=\"docutils literal notranslate\"><span class=\"pre\">instans</span></code></dt><dd><p>Den faktiska instans som sparas.</p>\n</dd>\n<dt><code class=\"docutils literal notranslate\"><span class=\"pre\">skapad</span></code></dt><dd><p>En boolean; <code class=\"docutils literal notranslate\"><span class=\"pre\">True</span></code> om en ny post skapades.</p>\n</dd>\n<dt><code class=\"docutils literal notranslate\"><span class=\"pre\">raw</span></code></dt><dd><p>En boolean; <code class=\"docutils literal notranslate\"><span class=\"pre\">True</span></code> om modellen sparas exakt som den presenteras (t.ex. vid laddning av en <a class=\"reference internal\" href=\"/sv/6.0/topics/db/fixtures/#fixtures-explanation\"><span class=\"std std-ref\">fixture</span></a>). Man bör inte fråga/ändra andra poster i databasen eftersom databasen kanske inte är i ett konsekvent tillstånd ännu.</p>\n</dd>\n<dt><code class=\"docutils literal notranslate\"><span class=\"pre\">använder</span></code></dt><dd><p>Det databasalias som används.</p>\n</dd>\n<dt><code class=\"docutils literal notranslate\"><span class=\"pre\">uppdatera_fält</span></code></dt><dd><p>Den uppsättning fält som ska uppdateras enligt <a class=\"reference internal\" href=\"/sv/6.0/ref/models/instances/#django.db.models.Model.save\" title=\"django.db.models.Model.save\"><code class=\"xref py py-meth docutils literal notranslate\"><span class=\"pre\">Model.save()</span></code></a>, eller <code class=\"docutils literal notranslate\"><span class=\"pre\">None</span></code> om <code class=\"docutils literal notranslate\"><span class=\"pre\">update_fields</span></code> inte skickades till <code class=\"docutils literal notranslate\"><span class=\"pre\">save()</span></code>.</p>\n</dd>\n</dl>\n</section>\n<section id=\"pre-delete\">\n<h3><code class=\"docutils literal notranslate\"><span class=\"pre\">pre_delete</span></code><a class=\"heading-anchor\" href=\"#pre-delete\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<dl class=\"py data\">\n<dt class=\"sig sig-object py\" id=\"django.db.models.signals.pre_delete\">\n<span class=\"sig-prename descclassname\"><span class=\"pre\">django.db.models.signals.</span></span><span class=\"sig-name descname\"><span class=\"pre\">pre_delete</span></span><a class=\"heading-anchor\" href=\"#django.db.models.signals.pre_delete\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p>Skickas i början av en models <a class=\"reference internal\" href=\"/sv/6.0/ref/models/instances/#django.db.models.Model.delete\" title=\"django.db.models.Model.delete\"><code class=\"xref py py-meth docutils literal notranslate\"><span class=\"pre\">delete()</span></code></a>-metod och en querysets <a class=\"reference internal\" href=\"/sv/6.0/ref/models/querysets/#django.db.models.query.QuerySet.delete\" title=\"django.db.models.query.QuerySet.delete\"><code class=\"xref py py-meth docutils literal notranslate\"><span class=\"pre\">delete()</span></code></a>-metod.</p>\n<p>Argument som skickas med denna signal:</p>\n<dl class=\"simple\">\n<dt>avsändare</dt><dd><p>Modellklassen.</p>\n</dd>\n<dt><code class=\"docutils literal notranslate\"><span class=\"pre\">instans</span></code></dt><dd><p>Den faktiska instans som raderas.</p>\n</dd>\n<dt><code class=\"docutils literal notranslate\"><span class=\"pre\">använder</span></code></dt><dd><p>Det databasalias som används.</p>\n</dd>\n<dt><code class=\"docutils literal notranslate\"><span class=\"pre\">ursprung</span></code></dt><dd><p>Den instans av <code class=\"docutils literal notranslate\"><span class=\"pre\">Model</span></code> eller <code class=\"docutils literal notranslate\"><span class=\"pre\">QuerySet</span></code> från vilken borttagningen skedde, dvs. den instans vars metod <code class=\"docutils literal notranslate\"><span class=\"pre\">delete()</span></code> anropades.</p>\n</dd>\n</dl>\n</section>\n<section id=\"post-delete\">\n<h3><code class=\"docutils literal notranslate\"><span class=\"pre\">post_delete</span></code><a class=\"heading-anchor\" href=\"#post-delete\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<dl class=\"py data\">\n<dt class=\"sig sig-object py\" id=\"django.db.models.signals.post_delete\">\n<span class=\"sig-prename descclassname\"><span class=\"pre\">django.db.models.signals.</span></span><span class=\"sig-name descname\"><span class=\"pre\">post_delete</span></span><a class=\"heading-anchor\" href=\"#django.db.models.signals.post_delete\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p>Som <a class=\"reference internal\" href=\"#django.db.models.signals.pre_delete\" title=\"django.db.models.signals.pre_delete\"><code class=\"xref py py-data docutils literal notranslate\"><span class=\"pre\">pre_delete</span></code></a>, men skickas i slutet av en models <a class=\"reference internal\" href=\"/sv/6.0/ref/models/instances/#django.db.models.Model.delete\" title=\"django.db.models.Model.delete\"><code class=\"xref py py-meth docutils literal notranslate\"><span class=\"pre\">delete()</span></code></a>-metod och en querysets <a class=\"reference internal\" href=\"/sv/6.0/ref/models/querysets/#django.db.models.query.QuerySet.delete\" title=\"django.db.models.query.QuerySet.delete\"><code class=\"xref py py-meth docutils literal notranslate\"><span class=\"pre\">delete()</span></code></a>-metod.</p>\n<p>Argument som skickas med denna signal:</p>\n<dl>\n<dt>avsändare</dt><dd><p>Modellklassen.</p>\n</dd>\n<dt><code class=\"docutils literal notranslate\"><span class=\"pre\">instans</span></code></dt><dd><p>Den faktiska instans som raderas.</p>\n<p>Observera att objektet inte längre kommer att finnas i databasen, så var mycket försiktig med vad du gör med denna instans.</p>\n</dd>\n<dt><code class=\"docutils literal notranslate\"><span class=\"pre\">använder</span></code></dt><dd><p>Det databasalias som används.</p>\n</dd>\n<dt><code class=\"docutils literal notranslate\"><span class=\"pre\">ursprung</span></code></dt><dd><p>Den instans av <code class=\"docutils literal notranslate\"><span class=\"pre\">Model</span></code> eller <code class=\"docutils literal notranslate\"><span class=\"pre\">QuerySet</span></code> från vilken borttagningen skedde, dvs. den instans vars metod <code class=\"docutils literal notranslate\"><span class=\"pre\">delete()</span></code> anropades.</p>\n</dd>\n</dl>\n</section>\n<section id=\"m2m-changed\">\n<h3><code class=\"docutils literal notranslate\"><span class=\"pre\">m2m_changed</span></code><a class=\"heading-anchor\" href=\"#m2m-changed\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<dl class=\"py data\">\n<dt class=\"sig sig-object py\" id=\"django.db.models.signals.m2m_changed\">\n<span class=\"sig-prename descclassname\"><span class=\"pre\">django.db.models.signals.</span></span><span class=\"sig-name descname\"><span class=\"pre\">m2m_changed</span></span><a class=\"heading-anchor\" href=\"#django.db.models.signals.m2m_changed\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p>Skickas när en <a class=\"reference internal\" href=\"/sv/6.0/ref/models/fields/#django.db.models.ManyToManyField\" title=\"django.db.models.ManyToManyField\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">ManyToManyField</span></code></a> ändras på en modellinstans. Strängt taget är detta inte en modellsignal eftersom den skickas av <a class=\"reference internal\" href=\"/sv/6.0/ref/models/fields/#django.db.models.ManyToManyField\" title=\"django.db.models.ManyToManyField\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">ManyToManyField</span></code></a>, men eftersom den kompletterar <a class=\"reference internal\" href=\"#django.db.models.signals.pre_save\" title=\"django.db.models.signals.pre_save\"><code class=\"xref py py-data docutils literal notranslate\"><span class=\"pre\">pre_save</span></code></a>/<a class=\"reference internal\" href=\"#django.db.models.signals.post_save\" title=\"django.db.models.signals.post_save\"><code class=\"xref py py-data docutils literal notranslate\"><span class=\"pre\">post_save</span></code></a> och <a class=\"reference internal\" href=\"#django.db.models.signals.pre_delete\" title=\"django.db.models.signals.pre_delete\"><code class=\"xref py py-data docutils literal notranslate\"><span class=\"pre\">pre_delete</span></code></a>/<a class=\"reference internal\" href=\"#django.db.models.signals.post_delete\" title=\"django.db.models.signals.post_delete\"><code class=\"xref py py-data docutils literal notranslate\"><span class=\"pre\">post_delete</span></code></a> när det gäller att spåra ändringar i modeller, inkluderas den här.</p>\n<p>Argument som skickas med denna signal:</p>\n<dl>\n<dt>avsändare</dt><dd><p>Den mellanliggande modellklassen som beskriver <a class=\"reference internal\" href=\"/sv/6.0/ref/models/fields/#django.db.models.ManyToManyField\" title=\"django.db.models.ManyToManyField\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">ManyToManyField</span></code></a>. Denna klass skapas automatiskt när ett many-to-many-fält definieras; du kan komma åt den med hjälp av attributet <code class=\"docutils literal notranslate\"><span class=\"pre\">through</span></code> på many-to-many-fältet.</p>\n</dd>\n<dt><code class=\"docutils literal notranslate\"><span class=\"pre\">instans</span></code></dt><dd><p>Den instans vars many-to-many-relation uppdateras. Detta kan vara en instans av <code class=\"docutils literal notranslate\"><span class=\"pre\">sender</span></code>, eller av den klass som <a class=\"reference internal\" href=\"/sv/6.0/ref/models/fields/#django.db.models.ManyToManyField\" title=\"django.db.models.ManyToManyField\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">ManyToManyField</span></code></a> är relaterad till.</p>\n</dd>\n<dt><code class=\"docutils literal notranslate\"><span class=\"pre\">handling</span></code></dt><dd><p>En sträng som anger vilken typ av uppdatering som görs av relationen. Detta kan vara något av följande:</p>\n<dl class=\"simple\">\n<dt><code class=\"docutils literal notranslate\"><span class=\"pre\">&quot;pre_add&quot;</span></code></dt><dd><p>Skickas <em>innan</em> ett eller flera objekt läggs till i relationen.</p>\n</dd>\n<dt><code class=\"docutils literal notranslate\"><span class=\"pre\">&quot;post_add&quot;</span></code></dt><dd><p>Skickas <em>efter</em> att ett eller flera objekt har lagts till i relationen.</p>\n</dd>\n<dt><code class=\"docutils literal notranslate\"><span class=\"pre\">&quot;pre_remove&quot;</span></code></dt><dd><p>Skickas <em>innan</em> ett eller flera objekt tas bort från relationen.</p>\n</dd>\n<dt><code class=\"docutils literal notranslate\"><span class=\"pre\">&quot;post_remove&quot;</span></code></dt><dd><p>Skickas <em>efter</em> att ett eller flera objekt har tagits bort från relationen.</p>\n</dd>\n<dt><code class=\"docutils literal notranslate\"><span class=\"pre\">&quot;pre_clear&quot;</span></code></dt><dd><p>Skickas <em>innan</em> relationen är avklarad.</p>\n</dd>\n<dt><code class=\"docutils literal notranslate\"><span class=\"pre\">&quot;post_clear&quot;</span></code></dt><dd><p>Skickas <em>efter</em> att relationen är avklarad.</p>\n</dd>\n</dl>\n</dd>\n<dt><code class=\"docutils literal notranslate\"><span class=\"pre\">omvänd</span></code></dt><dd><p>Anger vilken sida av relationen som uppdateras (dvs. om det är den framåtriktade eller omvända relationen som ändras).</p>\n</dd>\n<dt><code class=\"docutils literal notranslate\"><span class=\"pre\">modell</span></code></dt><dd><p>Klassen för de objekt som läggs till i, tas bort från eller rensas från relationen.</p>\n</dd>\n<dt><code class=\"docutils literal notranslate\"><span class=\"pre\">pk_set</span></code></dt><dd><p>För åtgärderna <code class=\"docutils literal notranslate\"><span class=\"pre\">pre_add</span></code> och <code class=\"docutils literal notranslate\"><span class=\"pre\">post_add</span></code> är detta en uppsättning primärnyckelvärden som kommer att läggas till, eller har lagts till, i relationen. Detta kan vara en delmängd av de värden som lämnats in för att läggas till, eftersom inmatningar måste filtrera befintliga värden för att undvika ett <code class=\"docutils literal notranslate\"><span class=\"pre\">IntegrityError</span></code> i databasen.</p>\n<p>För åtgärderna <code class=\"docutils literal notranslate\"><span class=\"pre\">pre_remove</span></code> och <code class=\"docutils literal notranslate\"><span class=\"pre\">post_remove</span></code> är detta en uppsättning primärnyckelvärden som skickades in för att tas bort från relationen. Detta är inte beroende av om värdena faktiskt kommer att tas bort eller har tagits bort. I synnerhet kan icke-existerande värden skickas in och visas då i <code class=\"docutils literal notranslate\"><span class=\"pre\">pk_set</span></code>, även om de inte har någon effekt på databasen.</p>\n<p>För åtgärderna <code class=\"docutils literal notranslate\"><span class=\"pre\">pre_clear</span></code> och <code class=\"docutils literal notranslate\"><span class=\"pre\">post_clear</span></code> är detta <code class=\"docutils literal notranslate\"><span class=\"pre\">None</span></code>.</p>\n</dd>\n<dt><code class=\"docutils literal notranslate\"><span class=\"pre\">använder</span></code></dt><dd><p>Det databasalias som används.</p>\n</dd>\n</dl>\n<p>Till exempel:, om en <code class=\"docutils literal notranslate\"><span class=\"pre\">Pizza</span></code> kan ha flera <code class=\"docutils literal notranslate\"><span class=\"pre\">Topping</span></code>-objekt, modellerade så här:</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=\"k\">class</span><span class=\"w\"> </span><span class=\"nc\">Topping</span><span class=\"p\">(</span><span class=\"n\">models</span><span class=\"o\">.</span><span class=\"n\">Model</span><span class=\"p\">):</span>\n    <span class=\"c1\"># ...</span>\n    <span class=\"k\">pass</span>\n\n\n<span class=\"k\">class</span><span class=\"w\"> </span><span class=\"nc\">Pizza</span><span class=\"p\">(</span><span class=\"n\">models</span><span class=\"o\">.</span><span class=\"n\">Model</span><span class=\"p\">):</span>\n    <span class=\"c1\"># ...</span>\n    <span class=\"n\">toppings</span> <span class=\"o\">=</span> <span class=\"n\">models</span><span class=\"o\">.</span><span class=\"n\">ManyToManyField</span><span class=\"p\">(</span><span class=\"n\">Topping</span><span class=\"p\">)</span>\n</code></pre></div>\n<p>Om vi ansluter en hanterare så här:</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=\"w\"> </span><span class=\"nn\">django.db.models.signals</span><span class=\"w\"> </span><span class=\"kn\">import</span> <span class=\"n\">m2m_changed</span>\n\n\n<span class=\"k\">def</span><span class=\"w\"> </span><span class=\"nf\">toppings_changed</span><span class=\"p\">(</span><span class=\"n\">sender</span><span class=\"p\">,</span> <span class=\"o\">**</span><span class=\"n\">kwargs</span><span class=\"p\">):</span>\n    <span class=\"c1\"># Do something</span>\n    <span class=\"k\">pass</span>\n\n\n<span class=\"n\">m2m_changed</span><span class=\"o\">.</span><span class=\"n\">connect</span><span class=\"p\">(</span><span class=\"n\">toppings_changed</span><span class=\"p\">,</span> <span class=\"n\">sender</span><span class=\"o\">=</span><span class=\"n\">Pizza</span><span class=\"o\">.</span><span class=\"n\">toppings</span><span class=\"o\">.</span><span class=\"n\">through</span><span class=\"p\">)</span>\n</code></pre></div>\n<p>och gjorde sedan något liknande:</p>\n<div class=\"code-block\" data-language=\"pycon\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Python console</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=\"Python console code\"><code><span class=\"gp\">&gt;&gt;&gt; </span><span class=\"n\">p</span> <span class=\"o\">=</span> <span class=\"n\">Pizza</span><span class=\"o\">.</span><span class=\"n\">objects</span><span class=\"o\">.</span><span class=\"n\">create</span><span class=\"p\">(</span><span class=\"o\">...</span><span class=\"p\">)</span>\n<span class=\"gp\">&gt;&gt;&gt; </span><span class=\"n\">t</span> <span class=\"o\">=</span> <span class=\"n\">Topping</span><span class=\"o\">.</span><span class=\"n\">objects</span><span class=\"o\">.</span><span class=\"n\">create</span><span class=\"p\">(</span><span class=\"o\">...</span><span class=\"p\">)</span>\n<span class=\"gp\">&gt;&gt;&gt; </span><span class=\"n\">p</span><span class=\"o\">.</span><span class=\"n\">toppings</span><span class=\"o\">.</span><span class=\"n\">add</span><span class=\"p\">(</span><span class=\"n\">t</span><span class=\"p\">)</span>\n</code></pre></div>\n<p>de argument som skickas till en <a class=\"reference internal\" href=\"#django.db.models.signals.m2m_changed\" title=\"django.db.models.signals.m2m_changed\"><code class=\"xref py py-data docutils literal notranslate\"><span class=\"pre\">m2m_changed</span></code></a> hanterare (<code class=\"docutils literal notranslate\"><span class=\"pre\">toppings_changed</span></code> i exemplet ovan) skulle vara:</p>\n<div class=\"table-scroll\" role=\"region\" tabindex=\"0\" aria-label=\"Table\"><table class=\"docutils align-default\">\n<thead>\n<tr class=\"row-odd\"><th class=\"head\"><p>Argument</p></th>\n<th class=\"head\"><p>Värde</p></th>\n</tr>\n</thead>\n<tbody>\n<tr class=\"row-even\"><td><p>avsändare</p></td>\n<td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">Pizza.toppings.through</span></code> (den mellanliggande m2m-klassen)</p></td>\n</tr>\n<tr class=\"row-odd\"><td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">instans</span></code></p></td>\n<td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">p</span></code> (instansen <code class=\"docutils literal notranslate\"><span class=\"pre\">Pizza</span></code> som modifieras)</p></td>\n</tr>\n<tr class=\"row-even\"><td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">handling</span></code></p></td>\n<td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">&quot;pre_add&quot;</span></code> (följt av en separat signal med <code class=\"docutils literal notranslate\"><span class=\"pre\">&quot;post_add&quot;</span></code>)</p></td>\n</tr>\n<tr class=\"row-odd\"><td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">omvänd</span></code></p></td>\n<td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">False</span></code> (<code class=\"docutils literal notranslate\"><span class=\"pre\">Pizza</span></code> innehåller <a class=\"reference internal\" href=\"/sv/6.0/ref/models/fields/#django.db.models.ManyToManyField\" title=\"django.db.models.ManyToManyField\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">ManyToManyField</span></code></a>, så detta anrop ändrar den framåtriktade relationen)</p></td>\n</tr>\n<tr class=\"row-even\"><td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">modell</span></code></p></td>\n<td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">Topping</span></code> (klassen för de objekt som läggs till <code class=\"docutils literal notranslate\"><span class=\"pre\">Pizza</span></code>)</p></td>\n</tr>\n<tr class=\"row-odd\"><td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">pk_set</span></code></p></td>\n<td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">{t.id}</span></code> (eftersom endast <code class=\"docutils literal notranslate\"><span class=\"pre\">Topping</span> <span class=\"pre\">t</span></code> lades till i relationen)</p></td>\n</tr>\n<tr class=\"row-even\"><td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">använder</span></code></p></td>\n<td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">&quot;default&quot;</span></code> (eftersom standardroutern skickar skrivningar hit)</p></td>\n</tr>\n</tbody>\n</table>\n</div>\n<p>Och om vi då skulle göra något sådant här:</p>\n<div class=\"code-block\" data-language=\"pycon\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Python console</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=\"Python console code\"><code><span class=\"gp\">&gt;&gt;&gt; </span><span class=\"n\">t</span><span class=\"o\">.</span><span class=\"n\">pizza_set</span><span class=\"o\">.</span><span class=\"n\">remove</span><span class=\"p\">(</span><span class=\"n\">p</span><span class=\"p\">)</span>\n</code></pre></div>\n<p>de argument som skickas till en <a class=\"reference internal\" href=\"#django.db.models.signals.m2m_changed\" title=\"django.db.models.signals.m2m_changed\"><code class=\"xref py py-data docutils literal notranslate\"><span class=\"pre\">m2m_changed</span></code></a> hanterare skulle vara:</p>\n<div class=\"table-scroll\" role=\"region\" tabindex=\"0\" aria-label=\"Table\"><table class=\"docutils align-default\">\n<thead>\n<tr class=\"row-odd\"><th class=\"head\"><p>Argument</p></th>\n<th class=\"head\"><p>Värde</p></th>\n</tr>\n</thead>\n<tbody>\n<tr class=\"row-even\"><td><p>avsändare</p></td>\n<td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">Pizza.toppings.through</span></code> (den mellanliggande m2m-klassen)</p></td>\n</tr>\n<tr class=\"row-odd\"><td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">instans</span></code></p></td>\n<td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">t</span></code> (instansen <code class=\"docutils literal notranslate\"><span class=\"pre\">Topping</span></code> som modifieras)</p></td>\n</tr>\n<tr class=\"row-even\"><td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">handling</span></code></p></td>\n<td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">&quot;pre_remove&quot;</span></code> (följt av en separat signal med <code class=\"docutils literal notranslate\"><span class=\"pre\">&quot;post_remove&quot;</span></code>)</p></td>\n</tr>\n<tr class=\"row-odd\"><td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">omvänd</span></code></p></td>\n<td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">True</span></code> (<code class=\"docutils literal notranslate\"><span class=\"pre\">Pizza</span></code> innehåller <a class=\"reference internal\" href=\"/sv/6.0/ref/models/fields/#django.db.models.ManyToManyField\" title=\"django.db.models.ManyToManyField\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">ManyToManyField</span></code></a>, så detta anrop modifierar den omvända relationen)</p></td>\n</tr>\n<tr class=\"row-even\"><td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">modell</span></code></p></td>\n<td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">Pizza</span></code> (klassen för de objekt som tagits bort från <code class=\"docutils literal notranslate\"><span class=\"pre\">Topping</span></code>)</p></td>\n</tr>\n<tr class=\"row-odd\"><td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">pk_set</span></code></p></td>\n<td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">{p.id}</span></code> (eftersom endast <code class=\"docutils literal notranslate\"><span class=\"pre\">Pizza</span> <span class=\"pre\">p</span></code> togs bort från relationen)</p></td>\n</tr>\n<tr class=\"row-even\"><td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">använder</span></code></p></td>\n<td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">&quot;default&quot;</span></code> (eftersom standardroutern skickar skrivningar hit)</p></td>\n</tr>\n</tbody>\n</table>\n</div>\n</section>\n<section id=\"class-prepared\">\n<h3><code class=\"docutils literal notranslate\"><span class=\"pre\">klass_förberedd</span></code><a class=\"heading-anchor\" href=\"#class-prepared\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<dl class=\"py data\">\n<dt class=\"sig sig-object py\" id=\"django.db.models.signals.class_prepared\">\n<span class=\"sig-prename descclassname\"><span class=\"pre\">django.db.models.signals.</span></span><span class=\"sig-name descname\"><span class=\"pre\">class_prepared</span></span><a class=\"heading-anchor\" href=\"#django.db.models.signals.class_prepared\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p>Skickas när en modellklass har ”förberetts”, det vill säga när en modell har definierats och registrerats i Djangos modellsystem. Django använder denna signal internt; den används vanligtvis inte i tredjepartsapplikationer.</p>\n<p>Eftersom den här signalen skickas under appregisterpopulationsprocessen och <a class=\"reference internal\" href=\"/sv/6.0/ref/applications/#django.apps.AppConfig.ready\" title=\"django.apps.AppConfig.ready\"><code class=\"xref py py-meth docutils literal notranslate\"><span class=\"pre\">AppConfig.ready()</span></code></a> körs efter att appregistret är helt populerat, kan mottagare inte anslutas i den metoden. En möjlighet är att ansluta dem till <code class=\"docutils literal notranslate\"><span class=\"pre\">AppConfig.__init__()</span></code> istället, och se till att inte importera modeller eller utlösa anrop till appregistret.</p>\n<p>Argument som skickas med denna signal:</p>\n<dl class=\"simple\">\n<dt>avsändare</dt><dd><p>Modellklassen som just var förberedd.</p>\n</dd>\n</dl>\n</section>\n</section>\n<section id=\"management-signals\">\n<h2>Ledningens signaler<a class=\"heading-anchor\" href=\"#management-signals\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<p>Signaler skickade av <a class=\"reference internal\" href=\"/sv/6.0/ref/django-admin/\"><span class=\"doc\">django-admin</span></a>.</p>\n<section id=\"pre-migrate\">\n<h3><code class=\"docutils literal notranslate\"><span class=\"pre\">pre_migrate</span></code><a class=\"heading-anchor\" href=\"#pre-migrate\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<dl class=\"py data\">\n<dt class=\"sig sig-object py\" id=\"django.db.models.signals.pre_migrate\">\n<span class=\"sig-prename descclassname\"><span class=\"pre\">django.db.models.signals.</span></span><span class=\"sig-name descname\"><span class=\"pre\">pre_migrate</span></span><a class=\"heading-anchor\" href=\"#django.db.models.signals.pre_migrate\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p>Skickas av kommandot <a class=\"reference internal\" href=\"/sv/6.0/ref/django-admin/#django-admin-migrate\"><code class=\"xref std std-djadmin docutils literal notranslate\"><span class=\"pre\">migrate</span></code></a> innan det börjar installera ett program. Det sänds inte ut för program som saknar en <code class=\"docutils literal notranslate\"><span class=\"pre\">models</span></code>-modul.</p>\n<p>Argument som skickas med denna signal:</p>\n<dl>\n<dt>avsändare</dt><dd><p>En <a class=\"reference internal\" href=\"/sv/6.0/ref/applications/#django.apps.AppConfig\" title=\"django.apps.AppConfig\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">AppConfig</span></code></a>-instans för den applikation som ska migreras/synkroniseras.</p>\n</dd>\n<dt><code class=\"docutils literal notranslate\"><span class=\"pre\">app_config</span></code></dt><dd><p>Samma som <code class=\"docutils literal notranslate\"><span class=\"pre\">avsändare</span></code>.</p>\n</dd>\n<dt><code class=\"docutils literal notranslate\"><span class=\"pre\">verbosity</span></code></dt><dd><p>Anger hur mycket information <code class=\"docutils literal notranslate\"><span class=\"pre\">manage.py</span></code> skriver ut på skärmen. Se flaggan <a class=\"reference internal\" href=\"/sv/6.0/ref/django-admin/#cmdoption-verbosity\"><code class=\"xref std std-option docutils literal notranslate\"><span class=\"pre\">--verbosity</span></code></a> för mer information.</p>\n<p>Funktioner som lyssnar efter <a class=\"reference internal\" href=\"#django.db.models.signals.pre_migrate\" title=\"django.db.models.signals.pre_migrate\"><code class=\"xref py py-data docutils literal notranslate\"><span class=\"pre\">pre_migrate</span></code></a> bör justera vad de matar ut på skärmen baserat på värdet av detta argument.</p>\n</dd>\n<dt><code class=\"docutils literal notranslate\"><span class=\"pre\">interaktiv</span></code></dt><dd><p>Om <code class=\"docutils literal notranslate\"><span class=\"pre\">interactive</span></code> är <code class=\"docutils literal notranslate\"><span class=\"pre\">True</span></code> är det säkert att uppmana användaren att mata in saker på kommandoraden. Om <code class=\"docutils literal notranslate\"><span class=\"pre\">interactive</span></code> är <code class=\"docutils literal notranslate\"><span class=\"pre\">False</span></code> ska funktioner som lyssnar på denna signal inte försöka uppmana till något.</p>\n<p>Till exempel: uppmanar <a class=\"reference internal\" href=\"/sv/6.0/topics/auth/#module-django.contrib.auth\" title=\"django.contrib.auth: Django's authentication framework.\"><code class=\"xref py py-mod docutils literal notranslate\"><span class=\"pre\">django.contrib.auth</span></code></a>-appen bara till att skapa en superanvändare när <code class=\"docutils literal notranslate\"><span class=\"pre\">interactive</span></code> är <code class=\"docutils literal notranslate\"><span class=\"pre\">True</span></code>.</p>\n</dd>\n<dt><code class=\"docutils literal notranslate\"><span class=\"pre\">stdout</span></code></dt><dd><p>Ett strömliknande objekt som kan användas för att omdirigera verbose-utdata.</p>\n</dd>\n<dt><code class=\"docutils literal notranslate\"><span class=\"pre\">använder</span></code></dt><dd><p>Aliaset för den databas som ett kommando ska användas på.</p>\n</dd>\n<dt><code class=\"docutils literal notranslate\"><span class=\"pre\">plan</span></code></dt><dd><p>Den migreringsplan som kommer att användas för migreringskörningen. Planen är inte ett publikt API, men detta möjliggör de sällsynta fall då det är nödvändigt att känna till planen. En plan är en lista med 2-tuples där det första objektet är en instans av en migreringsklass och det andra objektet visar om migreringen rullades tillbaka (<code class=\"docutils literal notranslate\"><span class=\"pre\">True</span></code>) eller tillämpades (<code class=\"docutils literal notranslate\"><span class=\"pre\">False</span></code>).</p>\n</dd>\n<dt><code class=\"docutils literal notranslate\"><span class=\"pre\">apps</span></code></dt><dd><p>En instans av <a class=\"reference internal\" href=\"/sv/6.0/ref/applications/#module-django.apps\" title=\"django.apps\"><code class=\"xref py py-data docutils literal notranslate\"><span class=\"pre\">Apps</span></code></a> som innehåller projektets tillstånd före migreringskörningen. Den bör användas i stället för det globala registret <a class=\"reference internal\" href=\"/sv/6.0/ref/applications/#django.apps.apps\" title=\"django.apps.apps\"><code class=\"xref py py-attr docutils literal notranslate\"><span class=\"pre\">apps</span></code></a> för att hämta de modeller som du vill utföra åtgärder på.</p>\n</dd>\n</dl>\n</section>\n<section id=\"post-migrate\">\n<h3><code class=\"docutils literal notranslate\"><span class=\"pre\">post_migrera</span></code><a class=\"heading-anchor\" href=\"#post-migrate\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<dl class=\"py data\">\n<dt class=\"sig sig-object py\" id=\"django.db.models.signals.post_migrate\">\n<span class=\"sig-prename descclassname\"><span class=\"pre\">django.db.models.signals.</span></span><span class=\"sig-name descname\"><span class=\"pre\">post_migrate</span></span><a class=\"heading-anchor\" href=\"#django.db.models.signals.post_migrate\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p>Skickas i slutet av kommandona <a class=\"reference internal\" href=\"/sv/6.0/ref/django-admin/#django-admin-migrate\"><code class=\"xref std std-djadmin docutils literal notranslate\"><span class=\"pre\">migrate</span></code></a> (även om inga migreringar körs) och <a class=\"reference internal\" href=\"/sv/6.0/ref/django-admin/#django-admin-flush\"><code class=\"xref std std-djadmin docutils literal notranslate\"><span class=\"pre\">flush</span></code></a>. Det sänds inte ut för program som saknar en <code class=\"docutils literal notranslate\"><span class=\"pre\">models</span></code>-modul.</p>\n<p>Den som hanterar den här signalen får inte ändra databasscheman eftersom det kan leda till att kommandot <a class=\"reference internal\" href=\"/sv/6.0/ref/django-admin/#django-admin-flush\"><code class=\"xref std std-djadmin docutils literal notranslate\"><span class=\"pre\">flush</span></code></a> misslyckas om det körs under kommandot <a class=\"reference internal\" href=\"/sv/6.0/ref/django-admin/#django-admin-migrate\"><code class=\"xref std std-djadmin docutils literal notranslate\"><span class=\"pre\">migrate</span></code></a>.</p>\n<p>Argument som skickas med denna signal:</p>\n<dl>\n<dt>avsändare</dt><dd><p>En <a class=\"reference internal\" href=\"/sv/6.0/ref/applications/#django.apps.AppConfig\" title=\"django.apps.AppConfig\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">AppConfig</span></code></a>-instans för den applikation som just installerades.</p>\n</dd>\n<dt><code class=\"docutils literal notranslate\"><span class=\"pre\">app_config</span></code></dt><dd><p>Samma som <code class=\"docutils literal notranslate\"><span class=\"pre\">avsändare</span></code>.</p>\n</dd>\n<dt><code class=\"docutils literal notranslate\"><span class=\"pre\">verbosity</span></code></dt><dd><p>Anger hur mycket information <code class=\"docutils literal notranslate\"><span class=\"pre\">manage.py</span></code> skriver ut på skärmen. Se flaggan <a class=\"reference internal\" href=\"/sv/6.0/ref/django-admin/#cmdoption-verbosity\"><code class=\"xref std std-option docutils literal notranslate\"><span class=\"pre\">--verbosity</span></code></a> för mer information.</p>\n<p>Funktioner som lyssnar på <a class=\"reference internal\" href=\"#django.db.models.signals.post_migrate\" title=\"django.db.models.signals.post_migrate\"><code class=\"xref py py-data docutils literal notranslate\"><span class=\"pre\">post_migrate</span></code></a> bör justera vad de matar ut på skärmen baserat på värdet av detta argument.</p>\n</dd>\n<dt><code class=\"docutils literal notranslate\"><span class=\"pre\">interaktiv</span></code></dt><dd><p>Om <code class=\"docutils literal notranslate\"><span class=\"pre\">interactive</span></code> är <code class=\"docutils literal notranslate\"><span class=\"pre\">True</span></code> är det säkert att uppmana användaren att mata in saker på kommandoraden. Om <code class=\"docutils literal notranslate\"><span class=\"pre\">interactive</span></code> är <code class=\"docutils literal notranslate\"><span class=\"pre\">False</span></code> ska funktioner som lyssnar på denna signal inte försöka uppmana till något.</p>\n<p>Till exempel: uppmanar <a class=\"reference internal\" href=\"/sv/6.0/topics/auth/#module-django.contrib.auth\" title=\"django.contrib.auth: Django's authentication framework.\"><code class=\"xref py py-mod docutils literal notranslate\"><span class=\"pre\">django.contrib.auth</span></code></a>-appen bara till att skapa en superanvändare när <code class=\"docutils literal notranslate\"><span class=\"pre\">interactive</span></code> är <code class=\"docutils literal notranslate\"><span class=\"pre\">True</span></code>.</p>\n</dd>\n<dt><code class=\"docutils literal notranslate\"><span class=\"pre\">stdout</span></code></dt><dd><p>Ett strömliknande objekt som kan användas för att omdirigera verbose-utdata.</p>\n</dd>\n<dt><code class=\"docutils literal notranslate\"><span class=\"pre\">använder</span></code></dt><dd><p>Det databasalias som används för synkronisering. Standard är databasen <code class=\"docutils literal notranslate\"><span class=\"pre\">default</span></code>.</p>\n</dd>\n<dt><code class=\"docutils literal notranslate\"><span class=\"pre\">plan</span></code></dt><dd><p>Den migreringsplan som användes för migreringskörningen. Planen är inte ett offentligt API, men detta möjliggör de sällsynta fall då det är nödvändigt att känna till planen. En plan är en lista med 2-tuples där det första objektet är en instans av en migreringsklass och det andra objektet visar om migreringen rullades tillbaka (<code class=\"docutils literal notranslate\"><span class=\"pre\">True</span></code>) eller tillämpades (<code class=\"docutils literal notranslate\"><span class=\"pre\">False</span></code>).</p>\n</dd>\n<dt><code class=\"docutils literal notranslate\"><span class=\"pre\">apps</span></code></dt><dd><p>En instans av <a class=\"reference internal\" href=\"/sv/6.0/ref/applications/#django.apps.apps\" title=\"django.apps.apps\"><code class=\"xref py py-data docutils literal notranslate\"><span class=\"pre\">Apps</span></code></a> som innehåller projektets tillstånd efter migreringskörningen. Den bör användas i stället för det globala registret <a class=\"reference internal\" href=\"/sv/6.0/ref/applications/#django.apps.apps\" title=\"django.apps.apps\"><code class=\"xref py py-attr docutils literal notranslate\"><span class=\"pre\">apps</span></code></a> för att hämta de modeller som du vill utföra åtgärder på.</p>\n</dd>\n</dl>\n<p>Du kan till exempel registrera en återuppringning i en <a class=\"reference internal\" href=\"/sv/6.0/ref/applications/#django.apps.AppConfig\" title=\"django.apps.AppConfig\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">AppConfig</span></code></a> så här:</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=\"w\"> </span><span class=\"nn\">django.apps</span><span class=\"w\"> </span><span class=\"kn\">import</span> <span class=\"n\">AppConfig</span>\n<span class=\"kn\">from</span><span class=\"w\"> </span><span class=\"nn\">django.db.models.signals</span><span class=\"w\"> </span><span class=\"kn\">import</span> <span class=\"n\">post_migrate</span>\n\n\n<span class=\"k\">def</span><span class=\"w\"> </span><span class=\"nf\">my_callback</span><span class=\"p\">(</span><span class=\"n\">sender</span><span class=\"p\">,</span> <span class=\"o\">**</span><span class=\"n\">kwargs</span><span class=\"p\">):</span>\n    <span class=\"c1\"># Your specific logic here</span>\n    <span class=\"k\">pass</span>\n\n\n<span class=\"k\">class</span><span class=\"w\"> </span><span class=\"nc\">MyAppConfig</span><span class=\"p\">(</span><span class=\"n\">AppConfig</span><span class=\"p\">):</span>\n    <span class=\"o\">...</span>\n\n    <span class=\"k\">def</span><span class=\"w\"> </span><span class=\"nf\">ready</span><span class=\"p\">(</span><span class=\"bp\">self</span><span class=\"p\">):</span>\n        <span class=\"n\">post_migrate</span><span class=\"o\">.</span><span class=\"n\">connect</span><span class=\"p\">(</span><span class=\"n\">my_callback</span><span class=\"p\">,</span> <span class=\"n\">sender</span><span class=\"o\">=</span><span class=\"bp\">self</span><span class=\"p\">)</span>\n</code></pre></div>\n<aside class=\"admonition admonition-note\" role=\"note\">\n<p class=\"admonition-title\">Observera</p>\n<p>Om du anger en <a class=\"reference internal\" href=\"/sv/6.0/ref/applications/#django.apps.AppConfig\" title=\"django.apps.AppConfig\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">AppConfig</span></code></a>-instans som avsändarargument, se till att signalen är registrerad i <a class=\"reference internal\" href=\"/sv/6.0/ref/applications/#django.apps.AppConfig.ready\" title=\"django.apps.AppConfig.ready\"><code class=\"xref py py-meth docutils literal notranslate\"><span class=\"pre\">ready()</span></code></a>. <code class=\"docutils literal notranslate\"><span class=\"pre\">AppConfig</span></code> återskapas för tester som körs med en modifierad uppsättning av <a class=\"reference internal\" href=\"/sv/6.0/ref/settings/#std-setting-INSTALLED_APPS\"><code class=\"xref std std-setting docutils literal notranslate\"><span class=\"pre\">INSTALLED_APPS</span></code></a> (t.ex. när inställningar åsidosätts) och sådana signaler bör anslutas för varje ny <code class=\"docutils literal notranslate\"><span class=\"pre\">AppConfig</span></code>-instans.</p>\n</aside>\n</section>\n</section>\n<section id=\"module-django.core.signals\">\n<span id=\"request-response-signals\"></span><h2>Signaler för begäran/svar<a class=\"heading-anchor\" href=\"#module-django.core.signals\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<p>Signaler som skickas av kärnramverket när en begäran behandlas.</p>\n<aside class=\"admonition admonition-warning\" role=\"note\">\n<p class=\"admonition-title\">Varning</p>\n<p>Signaler kan göra din kod svårare att underhålla. Överväg <a class=\"reference internal\" href=\"/sv/6.0/topics/http/middleware/\"><span class=\"doc\">använda ett mellanprogram</span></a> innan du använder request/response-signaler.</p>\n</aside>\n<section id=\"request-started\">\n<h3><code class=\"docutils literal notranslate\"><span class=\"pre\">begäran_startad</span></code><a class=\"heading-anchor\" href=\"#request-started\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<dl class=\"py data\">\n<dt class=\"sig sig-object py\" id=\"django.core.signals.request_started\">\n<span class=\"sig-prename descclassname\"><span class=\"pre\">django.core.signals.</span></span><span class=\"sig-name descname\"><span class=\"pre\">request_started</span></span><a class=\"heading-anchor\" href=\"#django.core.signals.request_started\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p>Skickas när Django börjar bearbeta en HTTP-begäran.</p>\n<p>Argument som skickas med denna signal:</p>\n<dl class=\"simple\">\n<dt>avsändare</dt><dd><p>Hanteringsklassen - t.ex. <code class=\"docutils literal notranslate\"><span class=\"pre\">django.core.handlers.wsgi.WsgiHandler</span></code> - som hanterade begäran.</p>\n</dd>\n<dt>omgivning</dt><dd><p>Den ordbok för ”miljö” som tillhandahålls för begäran.</p>\n</dd>\n</dl>\n</section>\n<section id=\"request-finished\">\n<h3>”Begäran_avslutad<a class=\"heading-anchor\" href=\"#request-finished\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<dl class=\"py data\">\n<dt class=\"sig sig-object py\" id=\"django.core.signals.request_finished\">\n<span class=\"sig-prename descclassname\"><span class=\"pre\">django.core.signals.</span></span><span class=\"sig-name descname\"><span class=\"pre\">request_finished</span></span><a class=\"heading-anchor\" href=\"#django.core.signals.request_finished\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p>Skickas när Django avslutar leveransen av ett HTTP-svar till klienten.</p>\n<p>Argument som skickas med denna signal:</p>\n<dl class=\"simple\">\n<dt>avsändare</dt><dd><p>Hanterarklassen, som ovan.</p>\n</dd>\n</dl>\n</section>\n<section id=\"got-request-exception\">\n<h3>har fått undantag från begäran<a class=\"heading-anchor\" href=\"#got-request-exception\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<dl class=\"py data\">\n<dt class=\"sig sig-object py\" id=\"django.core.signals.got_request_exception\">\n<span class=\"sig-prename descclassname\"><span class=\"pre\">django.core.signals.</span></span><span class=\"sig-name descname\"><span class=\"pre\">got_request_exception</span></span><a class=\"heading-anchor\" href=\"#django.core.signals.got_request_exception\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p>Denna signal skickas när Django stöter på ett undantag under behandlingen av en inkommande HTTP-begäran.</p>\n<p>Argument som skickas med denna signal:</p>\n<dl class=\"simple\">\n<dt>avsändare</dt><dd><p>Oanvänd (alltid <code class=\"docutils literal notranslate\"><span class=\"pre\">None</span></code>).</p>\n</dd>\n<dt><code class=\"docutils literal notranslate\"><span class=\"pre\">begäran</span></code></dt><dd><p>Objektet <a class=\"reference internal\" href=\"/sv/6.0/ref/request-response/#django.http.HttpRequest\" title=\"django.http.HttpRequest\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">HttpRequest</span></code></a>.</p>\n</dd>\n</dl>\n</section>\n</section>\n<section id=\"module-django.test.signals\">\n<span id=\"test-signals\"></span><h2>Test av signaler<a class=\"heading-anchor\" href=\"#module-django.test.signals\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<p>Signaler skickas endast när <a class=\"reference internal\" href=\"/sv/6.0/topics/testing/overview/#running-tests\"><span class=\"std std-ref\">kör tester</span></a>.</p>\n<section id=\"setting-changed\">\n<h3><code class=\"docutils literal notranslate\"><span class=\"pre\">inställning_ändrad</span></code><a class=\"heading-anchor\" href=\"#setting-changed\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<dl class=\"py data\">\n<dt class=\"sig sig-object py\" id=\"django.test.signals.setting_changed\">\n<span class=\"sig-prename descclassname\"><span class=\"pre\">django.test.signals.</span></span><span class=\"sig-name descname\"><span class=\"pre\">setting_changed</span></span><a class=\"heading-anchor\" href=\"#django.test.signals.setting_changed\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p>Denna signal skickas när värdet på en inställning ändras via kontexthanteraren <code class=\"docutils literal notranslate\"><span class=\"pre\">django.test.TestCase.settings()</span></code> eller <a class=\"reference internal\" href=\"/sv/6.0/topics/testing/tools/#django.test.override_settings\" title=\"django.test.override_settings\"><code class=\"xref py py-func docutils literal notranslate\"><span class=\"pre\">django.test.override_settings()</span></code></a> dekorator/kontexthanteraren.</p>\n<p>Det skickas faktiskt två gånger: när det nya värdet tillämpas (”setup”) och när det ursprungliga värdet återställs (”teardown”). Använd argumentet <code class=\"docutils literal notranslate\"><span class=\"pre\">enter</span></code> för att skilja mellan de två.</p>\n<p>Du kan också importera den här signalen från <code class=\"docutils literal notranslate\"><span class=\"pre\">django.core.signals</span></code> för att undvika import från <code class=\"docutils literal notranslate\"><span class=\"pre\">django.test</span></code> i situationer som inte är test.</p>\n<p>Argument som skickas med denna signal:</p>\n<dl class=\"simple\">\n<dt>avsändare</dt><dd><p>Inställningshanteraren.</p>\n</dd>\n<dt><code class=\"docutils literal notranslate\"><span class=\"pre\">inställning</span></code></dt><dd><p>Namnet på inställningen.</p>\n</dd>\n<dt><code class=\"docutils literal notranslate\"><span class=\"pre\">värde</span></code></dt><dd><p>Värdet på inställningen efter ändringen. För inställningar som ursprungligen inte finns, i fasen ”teardown”, är <code class=\"docutils literal notranslate\"><span class=\"pre\">value</span></code> <code class=\"docutils literal notranslate\"><span class=\"pre\">None</span></code>.</p>\n</dd>\n<dt><code class=\"docutils literal notranslate\"><span class=\"pre\">enter</span></code></dt><dd><p>En boolean; <code class=\"docutils literal notranslate\"><span class=\"pre\">True</span></code> om inställningen tillämpas, <code class=\"docutils literal notranslate\"><span class=\"pre\">False</span></code> om den återställs.</p>\n</dd>\n</dl>\n</section>\n<section id=\"template-rendered\">\n<h3><code class=\"docutils literal notranslate\"><span class=\"pre\">template_rendered</span></code><a class=\"heading-anchor\" href=\"#template-rendered\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<dl class=\"py data\">\n<dt class=\"sig sig-object py\" id=\"django.test.signals.template_rendered\">\n<span class=\"sig-prename descclassname\"><span class=\"pre\">django.test.signals.</span></span><span class=\"sig-name descname\"><span class=\"pre\">template_rendered</span></span><a class=\"heading-anchor\" href=\"#django.test.signals.template_rendered\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p>Skickas när testsystemet renderar en mall. Denna signal sänds inte ut under normal drift av en Django-server - den är endast tillgänglig under testning.</p>\n<p>Argument som skickas med denna signal:</p>\n<dl class=\"simple\">\n<dt>avsändare</dt><dd><p>Objektet <a class=\"reference internal\" href=\"/sv/6.0/ref/templates/api/#django.template.Template\" title=\"django.template.Template\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">Template</span></code></a> som renderades.</p>\n</dd>\n<dt><code class=\"docutils literal notranslate\"><span class=\"pre\">mall</span></code></dt><dd><p>Samma som avsändaren</p>\n</dd>\n<dt><code class=\"docutils literal notranslate\"><span class=\"pre\">kontext</span></code></dt><dd><p>Den <a class=\"reference internal\" href=\"/sv/6.0/ref/templates/api/#django.template.Context\" title=\"django.template.Context\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">Context</span></code></a> med vilken mallen renderades.</p>\n</dd>\n</dl>\n</section>\n</section>\n<section id=\"module-django.db.backends\">\n<span id=\"database-wrappers\"></span><h2>Databas-omslag<a class=\"heading-anchor\" href=\"#module-django.db.backends\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<p>Signaler som skickas av databasomslaget när en databasanslutning initieras.</p>\n<section id=\"connection-created\">\n<h3><code class=\"docutils literal notranslate\"><span class=\"pre\">anslutning_skapad</span></code><a class=\"heading-anchor\" href=\"#connection-created\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<dl class=\"py data\">\n<dt class=\"sig sig-object py\" id=\"django.db.backends.signals.connection_created\">\n<span class=\"sig-prename descclassname\"><span class=\"pre\">django.db.backends.signals.</span></span><span class=\"sig-name descname\"><span class=\"pre\">connection_created</span></span><a class=\"heading-anchor\" href=\"#django.db.backends.signals.connection_created\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p>Sent when the database wrapper makes the initial connection to the\ndatabase. This is particularly useful if you’d like to send any post\nconnection commands to the SQL backend.</p>\n<p>Argument som skickas med denna signal:</p>\n<dl class=\"simple\">\n<dt>avsändare</dt><dd><p>Databasens omslagsklass - t.ex. <code class=\"docutils literal notranslate\"><span class=\"pre\">django.db.backends.postgresql.DatabaseWrapper</span></code> eller <code class=\"docutils literal notranslate\"><span class=\"pre\">django.db.backends.mysql.DatabaseWrapper</span></code>, etc.</p>\n</dd>\n<dt><code class=\"docutils literal notranslate\"><span class=\"pre\">anslutning</span></code></dt><dd><p>Den databasanslutning som öppnades. Detta kan användas i en konfiguration med flera databaser för att skilja på anslutningssignaler från olika databaser.</p>\n</dd>\n</dl>\n</section>\n</section>\n<section id=\"tasks-signals\">\n<h2>Tasks signals<a class=\"heading-anchor\" href=\"#tasks-signals\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<aside class=\"version-note version-added\" data-version=\"6.0\">\n<p class=\"version-note-title\">New in Django 6.0</p></aside>\n<p>Signals sent by the <a class=\"reference internal\" href=\"/sv/6.0/ref/tasks/\"><span class=\"doc\">tasks</span></a> framework.</p>\n<section id=\"task-enqueued\">\n<h3><code class=\"docutils literal notranslate\"><span class=\"pre\">task_enqueued</span></code><a class=\"heading-anchor\" href=\"#task-enqueued\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<dl class=\"py data\">\n<dt class=\"sig sig-object py\" id=\"django.tasks.signals.task_enqueued\">\n<span class=\"sig-prename descclassname\"><span class=\"pre\">django.tasks.signals.</span></span><span class=\"sig-name descname\"><span class=\"pre\">task_enqueued</span></span><a class=\"heading-anchor\" href=\"#django.tasks.signals.task_enqueued\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p>Sent once a Task has been enqueued.</p>\n<p>Argument som skickas med denna signal:</p>\n<dl class=\"simple\">\n<dt>avsändare</dt><dd><p>The backend class which the Task was enqueued on to.</p>\n</dd>\n<dt><code class=\"docutils literal notranslate\"><span class=\"pre\">task_result</span></code></dt><dd><p>The enqueued <a class=\"reference internal\" href=\"/sv/6.0/ref/tasks/#django.tasks.TaskResult\" title=\"django.tasks.TaskResult\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">TaskResult</span></code></a>.</p>\n</dd>\n</dl>\n</section>\n<section id=\"task-started\">\n<h3><code class=\"docutils literal notranslate\"><span class=\"pre\">task_started</span></code><a class=\"heading-anchor\" href=\"#task-started\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<dl class=\"py data\">\n<dt class=\"sig sig-object py\" id=\"django.tasks.signals.task_started\">\n<span class=\"sig-prename descclassname\"><span class=\"pre\">django.tasks.signals.</span></span><span class=\"sig-name descname\"><span class=\"pre\">task_started</span></span><a class=\"heading-anchor\" href=\"#django.tasks.signals.task_started\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p>Sent when a Task has started executing.</p>\n<p>Argument som skickas med denna signal:</p>\n<dl class=\"simple\">\n<dt>avsändare</dt><dd><p>The backend class which the Task was enqueued on to.</p>\n</dd>\n<dt><code class=\"docutils literal notranslate\"><span class=\"pre\">task_result</span></code></dt><dd><p>The started <a class=\"reference internal\" href=\"/sv/6.0/ref/tasks/#django.tasks.TaskResult\" title=\"django.tasks.TaskResult\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">TaskResult</span></code></a>.</p>\n</dd>\n</dl>\n</section>\n<section id=\"task-finished\">\n<h3><code class=\"docutils literal notranslate\"><span class=\"pre\">task_finished</span></code><a class=\"heading-anchor\" href=\"#task-finished\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<dl class=\"py data\">\n<dt class=\"sig sig-object py\" id=\"django.tasks.signals.task_finished\">\n<span class=\"sig-prename descclassname\"><span class=\"pre\">django.tasks.signals.</span></span><span class=\"sig-name descname\"><span class=\"pre\">task_finished</span></span><a class=\"heading-anchor\" href=\"#django.tasks.signals.task_finished\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p>Sent once a Task has finished executing, successfully or otherwise.</p>\n<p>Argument som skickas med denna signal:</p>\n<dl class=\"simple\">\n<dt>avsändare</dt><dd><p>The backend class which the Task was enqueued on to.</p>\n</dd>\n<dt><code class=\"docutils literal notranslate\"><span class=\"pre\">task_result</span></code></dt><dd><p>The finished <a class=\"reference internal\" href=\"/sv/6.0/ref/tasks/#django.tasks.TaskResult\" title=\"django.tasks.TaskResult\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">TaskResult</span></code></a>.</p>\n</dd>\n</dl>\n</section>\n</section>","rootId":"signals","toc":[{"title":"Modellsignaler","anchor":"module-django.db.models.signals","children":[{"title":"pre_init","anchor":"pre-init","children":[]},{"title":"post_init","anchor":"post-init","children":[]},{"title":"pre_save","anchor":"pre-save","children":[]},{"title":"post_save","anchor":"post-save","children":[]},{"title":"pre_delete","anchor":"pre-delete","children":[]},{"title":"post_delete","anchor":"post-delete","children":[]},{"title":"m2m_changed","anchor":"m2m-changed","children":[]},{"title":"klass_förberedd","anchor":"class-prepared","children":[]}]},{"title":"Ledningens signaler","anchor":"management-signals","children":[{"title":"pre_migrate","anchor":"pre-migrate","children":[]},{"title":"post_migrera","anchor":"post-migrate","children":[]}]},{"title":"Signaler för begäran/svar","anchor":"module-django.core.signals","children":[{"title":"begäran_startad","anchor":"request-started","children":[]},{"title":"”Begäran_avslutad","anchor":"request-finished","children":[]},{"title":"har fått undantag från begäran","anchor":"got-request-exception","children":[]}]},{"title":"Test av signaler","anchor":"module-django.test.signals","children":[{"title":"inställning_ändrad","anchor":"setting-changed","children":[]},{"title":"template_rendered","anchor":"template-rendered","children":[]}]},{"title":"Databas-omslag","anchor":"module-django.db.backends","children":[{"title":"anslutning_skapad","anchor":"connection-created","children":[]}]},{"title":"Tasks signals","anchor":"tasks-signals","children":[{"title":"task_enqueued","anchor":"task-enqueued","children":[]},{"title":"task_started","anchor":"task-started","children":[]},{"title":"task_finished","anchor":"task-finished","children":[]}]}],"breadcrumbs":[{"docname":"ref/index","title":"API-referens","url":"/sv/6.0/ref/"}],"prev":{"docname":"ref/settings","title":"Inställningar","url":"/sv/6.0/ref/settings/"},"next":{"docname":"ref/tasks","title":"Tasks","url":"/sv/6.0/ref/tasks/"},"formats":{"html":"/sv/6.0/ref/signals/","markdown":"/sv/6.0/ref/signals.md","json":"/sv/6.0/ref/signals.json"},"source":"https://github.com/django/django/blob/stable/6.0.x/docs/ref/signals.txt","official":"https://docs.djangoproject.com/sv/6.0/ref/signals/","inVersions":["6.1","6.0","5.2"],"inLocales":["en","sv","zh-hans","ga","fr","ja","id","it","pt-br","ko","es","el","pl"]}