{"title":"Referens till modellfält","version":"6.1","locale":"sv","docname":"ref/models/fields","url":"/sv/6.1/ref/models/fields/","canonical":"https://djangodocs.dev/sv/6.1/ref/models/fields/","summary":"Det här dokumentet innehåller alla API-referenser för Field inklusive de field options och field types som Django erbjuder. Observera Fält definieras i…","html":"<section id=\"module-django.db.models.fields\">\n<span id=\"model-field-reference\"></span><h1>Referens till modellfält<a class=\"heading-anchor\" href=\"#module-django.db.models.fields\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h1>\n<p>Det här dokumentet innehåller alla API-referenser för <a class=\"reference internal\" href=\"#django.db.models.Field\" title=\"django.db.models.Field\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">Field</span></code></a> inklusive de <a class=\"reference internal\" href=\"#field-options\">field options</a> och <a class=\"reference internal\" href=\"#field-types\">field types</a> som Django erbjuder.</p>\n<aside class=\"admonition admonition-note\" role=\"note\">\n<p class=\"admonition-title\">Observera</p>\n<p>Fält definieras i <a class=\"reference internal\" href=\"#module-django.db.models.fields\" title=\"django.db.models.fields: Built-in field types.\"><code class=\"xref py py-mod docutils literal notranslate\"><span class=\"pre\">django.db.models.fields</span></code></a>, men för enkelhetens skull importeras de till <a class=\"reference internal\" href=\"/sv/6.1/topics/db/models/#module-django.db.models\" title=\"django.db.models\"><code class=\"xref py py-mod docutils literal notranslate\"><span class=\"pre\">django.db.models</span></code></a>. Standardkonventionen är att använda <code class=\"docutils literal notranslate\"><span class=\"pre\">from</span> <span class=\"pre\">django.db</span> <span class=\"pre\">import</span> <span class=\"pre\">models</span></code> och referera till fält som <code class=\"docutils literal notranslate\"><span class=\"pre\">models.&lt;Foo&gt;Field</span></code>.</p>\n</aside>\n<section id=\"field-options\">\n<span id=\"common-model-field-options\"></span><h2>Alternativ för fält<a class=\"heading-anchor\" href=\"#field-options\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<p>Följande argument är tillgängliga för alla fälttyper. Alla är valfria.</p>\n<section id=\"null\">\n<h3><code class=\"docutils literal notranslate\"><span class=\"pre\">null</span></code><a class=\"heading-anchor\" href=\"#null\"><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.Field.null\">\n<span class=\"sig-prename descclassname\"><span class=\"pre\">Field.</span></span><span class=\"sig-name descname\"><span class=\"pre\">null</span></span><a class=\"heading-anchor\" href=\"#django.db.models.Field.null\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p>Om <code class=\"docutils literal notranslate\"><span class=\"pre\">True</span></code>, kommer Django att lagra tomma värden som <code class=\"docutils literal notranslate\"><span class=\"pre\">NULL</span></code> i databasen. Standard är <code class=\"docutils literal notranslate\"><span class=\"pre\">False</span></code>.</p>\n<p>Undvik att använda <a class=\"reference internal\" href=\"#django.db.models.Field.null\" title=\"django.db.models.Field.null\"><code class=\"xref py py-attr docutils literal notranslate\"><span class=\"pre\">null</span></code></a> på strängbaserade fält som <a class=\"reference internal\" href=\"#django.db.models.CharField\" title=\"django.db.models.CharField\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">CharField</span></code></a> och <a class=\"reference internal\" href=\"#django.db.models.TextField\" title=\"django.db.models.TextField\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">TextField</span></code></a>. Django-konventionen är att använda en tom sträng, inte <code class=\"docutils literal notranslate\"><span class=\"pre\">NULL</span></code>, som ”inga data”-tillstånd för strängbaserade fält. Om ett strängbaserat fält har <code class=\"docutils literal notranslate\"><span class=\"pre\">null=False</span></code> kan tomma strängar fortfarande sparas för ”inga data”. Om ett strängbaserat fält har <code class=\"docutils literal notranslate\"><span class=\"pre\">null=True</span></code>, betyder det att det har två möjliga värden för ”no data”: <code class=\"docutils literal notranslate\"><span class=\"pre\">NULL</span></code> och den tomma strängen. I de flesta fall är det överflödigt att ha två möjliga värden för ”no data”. Ett undantag är när en <a class=\"reference internal\" href=\"#django.db.models.CharField\" title=\"django.db.models.CharField\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">CharField</span></code></a> har både <code class=\"docutils literal notranslate\"><span class=\"pre\">unique=True</span></code> och <code class=\"docutils literal notranslate\"><span class=\"pre\">blank=True</span></code> inställda. I den här situationen krävs <code class=\"docutils literal notranslate\"><span class=\"pre\">null=True</span></code> för att undvika brott mot unika begränsningar när flera objekt med tomma värden sparas.</p>\n<p>För både strängbaserade och icke-strängbaserade fält måste du också ange <code class=\"docutils literal notranslate\"><span class=\"pre\">blank=True</span></code> om du vill tillåta tomma värden i formulär, eftersom parametern <a class=\"reference internal\" href=\"#django.db.models.Field.null\" title=\"django.db.models.Field.null\"><code class=\"xref py py-attr docutils literal notranslate\"><span class=\"pre\">null</span></code></a> endast påverkar databaslagring (se <a class=\"reference internal\" href=\"#django.db.models.Field.blank\" title=\"django.db.models.Field.blank\"><code class=\"xref py py-attr docutils literal notranslate\"><span class=\"pre\">blank</span></code></a>).</p>\n<aside class=\"admonition admonition-note\" role=\"note\">\n<p class=\"admonition-title\">Observera</p>\n<p>Vid användning av Oracle databas backend kommer värdet <code class=\"docutils literal notranslate\"><span class=\"pre\">NULL</span></code> att lagras för att beteckna den tomma strängen oavsett detta attribut.</p>\n</aside>\n</section>\n<section id=\"blank\">\n<h3><code class=\"docutils literal notranslate\"><span class=\"pre\">blank</span></code><a class=\"heading-anchor\" href=\"#blank\"><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.Field.blank\">\n<span class=\"sig-prename descclassname\"><span class=\"pre\">Field.</span></span><span class=\"sig-name descname\"><span class=\"pre\">blank</span></span><a class=\"heading-anchor\" href=\"#django.db.models.Field.blank\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p>Om <code class=\"docutils literal notranslate\"><span class=\"pre\">True</span></code>, får fältet vara tomt. Standard är <code class=\"docutils literal notranslate\"><span class=\"pre\">False</span></code>.</p>\n<p>Observera att detta skiljer sig från <a class=\"reference internal\" href=\"#django.db.models.Field.null\" title=\"django.db.models.Field.null\"><code class=\"xref py py-attr docutils literal notranslate\"><span class=\"pre\">null</span></code></a>. <a class=\"reference internal\" href=\"#django.db.models.Field.null\" title=\"django.db.models.Field.null\"><code class=\"xref py py-attr docutils literal notranslate\"><span class=\"pre\">null</span></code></a> är rent databasrelaterat, medan <a class=\"reference internal\" href=\"#django.db.models.Field.blank\" title=\"django.db.models.Field.blank\"><code class=\"xref py py-attr docutils literal notranslate\"><span class=\"pre\">blank</span></code></a> är valideringsrelaterat. Om ett fält har <code class=\"docutils literal notranslate\"><span class=\"pre\">blank=True</span></code>, tillåter formulärvalidering att ett tomt värde anges. Om ett fält har <code class=\"docutils literal notranslate\"><span class=\"pre\">blank=False</span></code> kommer fältet att vara obligatoriskt.</p>\n<aside class=\"admonition-supplying-missing-values admonition\">\n<p class=\"admonition-title\">Tillhandahållande av saknade värden</p>\n<p><code class=\"docutils literal notranslate\"><span class=\"pre\">blank=True</span></code> kan användas med fält som har <code class=\"docutils literal notranslate\"><span class=\"pre\">null=False</span></code>, men detta kommer att kräva implementering av <a class=\"reference internal\" href=\"/sv/6.1/ref/models/instances/#django.db.models.Model.clean\" title=\"django.db.models.Model.clean\"><code class=\"xref py py-meth docutils literal notranslate\"><span class=\"pre\">clean()</span></code></a> på modellen för att programmatiskt tillhandahålla eventuella saknade värden.</p>\n</aside>\n</section>\n<section id=\"choices\">\n<span id=\"field-choices\"></span><h3><code class=\"docutils literal notranslate\"><span class=\"pre\">val</span></code><a class=\"heading-anchor\" href=\"#choices\"><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.Field.choices\">\n<span class=\"sig-prename descclassname\"><span class=\"pre\">Field.</span></span><span class=\"sig-name descname\"><span class=\"pre\">choices</span></span><a class=\"heading-anchor\" href=\"#django.db.models.Field.choices\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p>En mappning eller iterabel i det format som beskrivs nedan för att användas som val för detta fält. Om val anges, verkställs de av <a class=\"reference internal\" href=\"/sv/6.1/ref/models/instances/#validating-objects\"><span class=\"std std-ref\">modellvalidering</span></a> och standardformulärwidgeten kommer att vara en valbox med dessa val istället för standardtextfältet.</p>\n<p>Om en mappning anges är nyckelelementet det faktiska värde som ska anges i modellen och det andra elementet är det lättlästa namnet. Till exempel:</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\">YEAR_IN_SCHOOL_CHOICES</span> <span class=\"o\">=</span> <span class=\"p\">{</span>\n    <span class=\"s2\">&quot;FR&quot;</span><span class=\"p\">:</span> <span class=\"s2\">&quot;Freshman&quot;</span><span class=\"p\">,</span>\n    <span class=\"s2\">&quot;SO&quot;</span><span class=\"p\">:</span> <span class=\"s2\">&quot;Sophomore&quot;</span><span class=\"p\">,</span>\n    <span class=\"s2\">&quot;JR&quot;</span><span class=\"p\">:</span> <span class=\"s2\">&quot;Junior&quot;</span><span class=\"p\">,</span>\n    <span class=\"s2\">&quot;SR&quot;</span><span class=\"p\">:</span> <span class=\"s2\">&quot;Senior&quot;</span><span class=\"p\">,</span>\n    <span class=\"s2\">&quot;GR&quot;</span><span class=\"p\">:</span> <span class=\"s2\">&quot;Graduate&quot;</span><span class=\"p\">,</span>\n<span class=\"p\">}</span>\n</code></pre></div>\n<p>Du kan också skicka en <a class=\"reference external\" href=\"https://docs.python.org/3/glossary.html#term-sequence\" title=\"(in Python v3.14)\"><span class=\"xref std std-term\">sequence</span></a> som i sig består av iterabler med exakt två element (t.ex. <code class=\"docutils literal notranslate\"><span class=\"pre\">[(A1,</span> <span class=\"pre\">B1),</span> <span class=\"pre\">(A2,</span> <span class=\"pre\">B2),</span> <span class=\"pre\">...]</span></code>). Det första elementet i varje tupel är det faktiska värde som ska anges i modellen, och det andra elementet är det mänskligt läsbara namnet. Till exempel:</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\">YEAR_IN_SCHOOL_CHOICES</span> <span class=\"o\">=</span> <span class=\"p\">[</span>\n    <span class=\"p\">(</span><span class=\"s2\">&quot;FR&quot;</span><span class=\"p\">,</span> <span class=\"s2\">&quot;Freshman&quot;</span><span class=\"p\">),</span>\n    <span class=\"p\">(</span><span class=\"s2\">&quot;SO&quot;</span><span class=\"p\">,</span> <span class=\"s2\">&quot;Sophomore&quot;</span><span class=\"p\">),</span>\n    <span class=\"p\">(</span><span class=\"s2\">&quot;JR&quot;</span><span class=\"p\">,</span> <span class=\"s2\">&quot;Junior&quot;</span><span class=\"p\">),</span>\n    <span class=\"p\">(</span><span class=\"s2\">&quot;SR&quot;</span><span class=\"p\">,</span> <span class=\"s2\">&quot;Senior&quot;</span><span class=\"p\">),</span>\n    <span class=\"p\">(</span><span class=\"s2\">&quot;GR&quot;</span><span class=\"p\">,</span> <span class=\"s2\">&quot;Graduate&quot;</span><span class=\"p\">),</span>\n<span class=\"p\">]</span>\n</code></pre></div>\n<p><code class=\"docutils literal notranslate\"><span class=\"pre\">choices</span></code> kan också definieras som en callable som inte förväntar sig några argument och som returnerar något av de format som beskrivs ovan. Till exempel:</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\">def</span><span class=\"w\"> </span><span class=\"nf\">get_currencies</span><span class=\"p\">():</span>\n    <span class=\"k\">return</span> <span class=\"p\">{</span><span class=\"n\">i</span><span class=\"p\">:</span> <span class=\"n\">i</span> <span class=\"k\">for</span> <span class=\"n\">i</span> <span class=\"ow\">in</span> <span class=\"n\">settings</span><span class=\"o\">.</span><span class=\"n\">CURRENCIES</span><span class=\"p\">}</span>\n\n\n<span class=\"k\">class</span><span class=\"w\"> </span><span class=\"nc\">Expense</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=\"n\">amount</span> <span class=\"o\">=</span> <span class=\"n\">models</span><span class=\"o\">.</span><span class=\"n\">DecimalField</span><span class=\"p\">(</span><span class=\"n\">max_digits</span><span class=\"o\">=</span><span class=\"mi\">10</span><span class=\"p\">,</span> <span class=\"n\">decimal_places</span><span class=\"o\">=</span><span class=\"mi\">2</span><span class=\"p\">)</span>\n    <span class=\"n\">currency</span> <span class=\"o\">=</span> <span class=\"n\">models</span><span class=\"o\">.</span><span class=\"n\">CharField</span><span class=\"p\">(</span><span class=\"n\">max_length</span><span class=\"o\">=</span><span class=\"mi\">3</span><span class=\"p\">,</span> <span class=\"n\">choices</span><span class=\"o\">=</span><span class=\"n\">get_currencies</span><span class=\"p\">)</span>\n</code></pre></div>\n<p>Att skicka en callable för <code class=\"docutils literal notranslate\"><span class=\"pre\">choices</span></code> kan vara särskilt praktiskt när, till exempel, alternativen är:</p>\n<ul class=\"simple\">\n<li><p>resultatet av I/O-bundna operationer (som potentiellt kan cachas), t.ex. att fråga en tabell i samma eller en extern databas, eller att komma åt val från en statisk fil.</p></li>\n<li><p>en lista som för det mesta är stabil men som kan variera från tid till annan eller från projekt till projekt. Exempel i denna kategori är att använda tredjepartsappar som tillhandahåller en välkänd förteckning över värden, t.ex. valutor, länder, språk, tidszoner etc.</p></li>\n</ul>\n<p>I allmänhet är det bäst att definiera val i en modellklass och att definiera en konstant med lämpligt namn för varje värde:</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</span><span class=\"w\"> </span><span class=\"kn\">import</span> <span class=\"n\">models</span>\n\n\n<span class=\"k\">class</span><span class=\"w\"> </span><span class=\"nc\">Student</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=\"n\">FRESHMAN</span> <span class=\"o\">=</span> <span class=\"s2\">&quot;FR&quot;</span>\n    <span class=\"n\">SOPHOMORE</span> <span class=\"o\">=</span> <span class=\"s2\">&quot;SO&quot;</span>\n    <span class=\"n\">JUNIOR</span> <span class=\"o\">=</span> <span class=\"s2\">&quot;JR&quot;</span>\n    <span class=\"n\">SENIOR</span> <span class=\"o\">=</span> <span class=\"s2\">&quot;SR&quot;</span>\n    <span class=\"n\">GRADUATE</span> <span class=\"o\">=</span> <span class=\"s2\">&quot;GR&quot;</span>\n    <span class=\"n\">YEAR_IN_SCHOOL_CHOICES</span> <span class=\"o\">=</span> <span class=\"p\">{</span>\n        <span class=\"n\">FRESHMAN</span><span class=\"p\">:</span> <span class=\"s2\">&quot;Freshman&quot;</span><span class=\"p\">,</span>\n        <span class=\"n\">SOPHOMORE</span><span class=\"p\">:</span> <span class=\"s2\">&quot;Sophomore&quot;</span><span class=\"p\">,</span>\n        <span class=\"n\">JUNIOR</span><span class=\"p\">:</span> <span class=\"s2\">&quot;Junior&quot;</span><span class=\"p\">,</span>\n        <span class=\"n\">SENIOR</span><span class=\"p\">:</span> <span class=\"s2\">&quot;Senior&quot;</span><span class=\"p\">,</span>\n        <span class=\"n\">GRADUATE</span><span class=\"p\">:</span> <span class=\"s2\">&quot;Graduate&quot;</span><span class=\"p\">,</span>\n    <span class=\"p\">}</span>\n    <span class=\"n\">year_in_school</span> <span class=\"o\">=</span> <span class=\"n\">models</span><span class=\"o\">.</span><span class=\"n\">CharField</span><span class=\"p\">(</span>\n        <span class=\"n\">max_length</span><span class=\"o\">=</span><span class=\"mi\">2</span><span class=\"p\">,</span>\n        <span class=\"n\">choices</span><span class=\"o\">=</span><span class=\"n\">YEAR_IN_SCHOOL_CHOICES</span><span class=\"p\">,</span>\n        <span class=\"n\">default</span><span class=\"o\">=</span><span class=\"n\">FRESHMAN</span><span class=\"p\">,</span>\n    <span class=\"p\">)</span>\n\n    <span class=\"k\">def</span><span class=\"w\"> </span><span class=\"nf\">is_upperclass</span><span class=\"p\">(</span><span class=\"bp\">self</span><span class=\"p\">):</span>\n        <span class=\"k\">return</span> <span class=\"bp\">self</span><span class=\"o\">.</span><span class=\"n\">year_in_school</span> <span class=\"ow\">in</span> <span class=\"p\">{</span><span class=\"bp\">self</span><span class=\"o\">.</span><span class=\"n\">JUNIOR</span><span class=\"p\">,</span> <span class=\"bp\">self</span><span class=\"o\">.</span><span class=\"n\">SENIOR</span><span class=\"p\">}</span>\n</code></pre></div>\n<p>Du kan definiera en lista med val utanför en modellklass och sedan hänvisa till den, men om du definierar valen och namnen för varje val i modellklassen behålls all denna information i den klass som använder den och hjälper till att hänvisa till valen (t.ex. fungerar <code class=\"docutils literal notranslate\"><span class=\"pre\">Student.SOPHOMORE</span></code> överallt där modellen <code class=\"docutils literal notranslate\"><span class=\"pre\">Student</span></code> har importerats).</p>\n<p id=\"field-choices-named-groups\">Du kan också samla dina tillgängliga val i namngivna grupper som kan användas för organisatoriska ändamål:</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\">MEDIA_CHOICES</span> <span class=\"o\">=</span> <span class=\"p\">{</span>\n    <span class=\"s2\">&quot;Audio&quot;</span><span class=\"p\">:</span> <span class=\"p\">{</span>\n        <span class=\"s2\">&quot;vinyl&quot;</span><span class=\"p\">:</span> <span class=\"s2\">&quot;Vinyl&quot;</span><span class=\"p\">,</span>\n        <span class=\"s2\">&quot;cd&quot;</span><span class=\"p\">:</span> <span class=\"s2\">&quot;CD&quot;</span><span class=\"p\">,</span>\n    <span class=\"p\">},</span>\n    <span class=\"s2\">&quot;Video&quot;</span><span class=\"p\">:</span> <span class=\"p\">{</span>\n        <span class=\"s2\">&quot;vhs&quot;</span><span class=\"p\">:</span> <span class=\"s2\">&quot;VHS Tape&quot;</span><span class=\"p\">,</span>\n        <span class=\"s2\">&quot;dvd&quot;</span><span class=\"p\">:</span> <span class=\"s2\">&quot;DVD&quot;</span><span class=\"p\">,</span>\n    <span class=\"p\">},</span>\n    <span class=\"s2\">&quot;unknown&quot;</span><span class=\"p\">:</span> <span class=\"s2\">&quot;Unknown&quot;</span><span class=\"p\">,</span>\n<span class=\"p\">}</span>\n</code></pre></div>\n<p>Mappningens nyckel är det namn som ska användas för gruppen och värdet är alternativen i gruppen, som består av fältvärdet och ett lättläst namn för ett alternativ. Grupperade alternativ kan kombineras med ogrupperade alternativ i en enda mappning (som alternativet <code class=\"docutils literal notranslate\"><span class=\"pre\">&quot;unknown&quot;</span></code> i det här exemplet).</p>\n<p>Du kan också använda en sekvens, t.ex. en lista med 2-tupler:</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\">MEDIA_CHOICES</span> <span class=\"o\">=</span> <span class=\"p\">[</span>\n    <span class=\"p\">(</span>\n        <span class=\"s2\">&quot;Audio&quot;</span><span class=\"p\">,</span>\n        <span class=\"p\">(</span>\n            <span class=\"p\">(</span><span class=\"s2\">&quot;vinyl&quot;</span><span class=\"p\">,</span> <span class=\"s2\">&quot;Vinyl&quot;</span><span class=\"p\">),</span>\n            <span class=\"p\">(</span><span class=\"s2\">&quot;cd&quot;</span><span class=\"p\">,</span> <span class=\"s2\">&quot;CD&quot;</span><span class=\"p\">),</span>\n        <span class=\"p\">),</span>\n    <span class=\"p\">),</span>\n    <span class=\"p\">(</span>\n        <span class=\"s2\">&quot;Video&quot;</span><span class=\"p\">,</span>\n        <span class=\"p\">(</span>\n            <span class=\"p\">(</span><span class=\"s2\">&quot;vhs&quot;</span><span class=\"p\">,</span> <span class=\"s2\">&quot;VHS Tape&quot;</span><span class=\"p\">),</span>\n            <span class=\"p\">(</span><span class=\"s2\">&quot;dvd&quot;</span><span class=\"p\">,</span> <span class=\"s2\">&quot;DVD&quot;</span><span class=\"p\">),</span>\n        <span class=\"p\">),</span>\n    <span class=\"p\">),</span>\n    <span class=\"p\">(</span><span class=\"s2\">&quot;unknown&quot;</span><span class=\"p\">,</span> <span class=\"s2\">&quot;Unknown&quot;</span><span class=\"p\">),</span>\n<span class=\"p\">]</span>\n</code></pre></div>\n<p>Observera att val kan vara vilket sekvensobjekt som helst - inte nödvändigtvis en lista eller tupel. Detta gör att du kan konstruera val dynamiskt. Men om du hackar <a class=\"reference internal\" href=\"#django.db.models.Field.choices\" title=\"django.db.models.Field.choices\"><code class=\"xref py py-attr docutils literal notranslate\"><span class=\"pre\">choices</span></code></a> för att vara dynamisk, är det förmodligen bättre att använda en riktig databastabell med en <a class=\"reference internal\" href=\"#django.db.models.ForeignKey\" title=\"django.db.models.ForeignKey\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">ForeignKey</span></code></a>. <a class=\"reference internal\" href=\"#django.db.models.Field.choices\" title=\"django.db.models.Field.choices\"><code class=\"xref py py-attr docutils literal notranslate\"><span class=\"pre\">choices</span></code></a> är avsedd för statiska data som inte ändras mycket, om ens någonsin.</p>\n<aside class=\"admonition admonition-note\" role=\"note\">\n<p class=\"admonition-title\">Observera</p>\n<p>En ny migration skapas varje gång ordningen på <code class=\"docutils literal notranslate\"><span class=\"pre\">valen</span></code> ändras.</p>\n</aside>\n<p>För varje modellfält som har <a class=\"reference internal\" href=\"#django.db.models.Field.choices\" title=\"django.db.models.Field.choices\"><code class=\"xref py py-attr docutils literal notranslate\"><span class=\"pre\">choices</span></code></a> inställt, kommer Django att normalisera valen till en lista med 2-tuples och lägga till en metod för att hämta det mänskliga läsbara namnet för fältets aktuella värde. Se <a class=\"reference internal\" href=\"/sv/6.1/ref/models/instances/#django.db.models.Model.get_FOO_display\" title=\"django.db.models.Model.get_FOO_display\"><code class=\"xref py py-meth docutils literal notranslate\"><span class=\"pre\">get_FOO_display()</span></code></a> i API-dokumentationen för databasen.</p>\n<p id=\"field-choices-blank-label\">Unless <a class=\"reference internal\" href=\"#django.db.models.Field.blank\" title=\"django.db.models.Field.blank\"><code class=\"xref py py-attr docutils literal notranslate\"><span class=\"pre\">blank=False</span></code></a> is set on the field along with a\n<a class=\"reference internal\" href=\"#django.db.models.Field.default\" title=\"django.db.models.Field.default\"><code class=\"xref py py-attr docutils literal notranslate\"><span class=\"pre\">default</span></code></a> then a label containing <code class=\"docutils literal notranslate\"><span class=\"pre\">&quot;-</span> <span class=\"pre\">Select</span> <span class=\"pre\">an</span> <span class=\"pre\">option</span> <span class=\"pre\">-&quot;</span></code> will\nbe rendered with the select box. To override this behavior, add a tuple to\n<code class=\"docutils literal notranslate\"><span class=\"pre\">choices</span></code> containing <code class=\"docutils literal notranslate\"><span class=\"pre\">None</span></code>; e.g. <code class=\"docutils literal notranslate\"><span class=\"pre\">(None,</span> <span class=\"pre\">'Your</span> <span class=\"pre\">String</span> <span class=\"pre\">For</span> <span class=\"pre\">Display')</span></code>.\nAlternatively, you can use an empty string instead of <code class=\"docutils literal notranslate\"><span class=\"pre\">None</span></code> where this\nmakes sense - such as on a <a class=\"reference internal\" href=\"#django.db.models.CharField\" title=\"django.db.models.CharField\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">CharField</span></code></a>.</p>\n<aside class=\"version-note version-changed\" data-version=\"6.1\">\n<p class=\"version-note-title\">Changed in Django 6.1</p><p>The default blank label was changed from <code class=\"docutils literal notranslate\"><span class=\"pre\">&quot;---------&quot;</span></code> to\n<code class=\"docutils literal notranslate\"><span class=\"pre\">&quot;-</span> <span class=\"pre\">Select</span> <span class=\"pre\">an</span> <span class=\"pre\">option</span> <span class=\"pre\">-&quot;</span></code>.</p>\n</aside>\n<section id=\"enumeration-types\">\n<span id=\"field-choices-enum-types\"></span><h4>Uppräkningstyper<a class=\"heading-anchor\" href=\"#enumeration-types\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h4>\n<p>Dessutom tillhandahåller Django enumerationstyper som du kan underklassa för att definiera val på ett koncist sätt:</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.utils.translation</span><span class=\"w\"> </span><span class=\"kn\">import</span> <span class=\"n\">gettext_lazy</span> <span class=\"k\">as</span> <span class=\"n\">_</span>\n\n\n<span class=\"k\">class</span><span class=\"w\"> </span><span class=\"nc\">Student</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=\"k\">class</span><span class=\"w\"> </span><span class=\"nc\">YearInSchool</span><span class=\"p\">(</span><span class=\"n\">models</span><span class=\"o\">.</span><span class=\"n\">TextChoices</span><span class=\"p\">):</span>\n        <span class=\"n\">FRESHMAN</span> <span class=\"o\">=</span> <span class=\"s2\">&quot;FR&quot;</span><span class=\"p\">,</span> <span class=\"n\">_</span><span class=\"p\">(</span><span class=\"s2\">&quot;Freshman&quot;</span><span class=\"p\">)</span>\n        <span class=\"n\">SOPHOMORE</span> <span class=\"o\">=</span> <span class=\"s2\">&quot;SO&quot;</span><span class=\"p\">,</span> <span class=\"n\">_</span><span class=\"p\">(</span><span class=\"s2\">&quot;Sophomore&quot;</span><span class=\"p\">)</span>\n        <span class=\"n\">JUNIOR</span> <span class=\"o\">=</span> <span class=\"s2\">&quot;JR&quot;</span><span class=\"p\">,</span> <span class=\"n\">_</span><span class=\"p\">(</span><span class=\"s2\">&quot;Junior&quot;</span><span class=\"p\">)</span>\n        <span class=\"n\">SENIOR</span> <span class=\"o\">=</span> <span class=\"s2\">&quot;SR&quot;</span><span class=\"p\">,</span> <span class=\"n\">_</span><span class=\"p\">(</span><span class=\"s2\">&quot;Senior&quot;</span><span class=\"p\">)</span>\n        <span class=\"n\">GRADUATE</span> <span class=\"o\">=</span> <span class=\"s2\">&quot;GR&quot;</span><span class=\"p\">,</span> <span class=\"n\">_</span><span class=\"p\">(</span><span class=\"s2\">&quot;Graduate&quot;</span><span class=\"p\">)</span>\n\n    <span class=\"n\">year_in_school</span> <span class=\"o\">=</span> <span class=\"n\">models</span><span class=\"o\">.</span><span class=\"n\">CharField</span><span class=\"p\">(</span>\n        <span class=\"n\">max_length</span><span class=\"o\">=</span><span class=\"mi\">2</span><span class=\"p\">,</span>\n        <span class=\"n\">choices</span><span class=\"o\">=</span><span class=\"n\">YearInSchool</span><span class=\"p\">,</span>\n        <span class=\"n\">default</span><span class=\"o\">=</span><span class=\"n\">YearInSchool</span><span class=\"o\">.</span><span class=\"n\">FRESHMAN</span><span class=\"p\">,</span>\n    <span class=\"p\">)</span>\n\n    <span class=\"k\">def</span><span class=\"w\"> </span><span class=\"nf\">is_upperclass</span><span class=\"p\">(</span><span class=\"bp\">self</span><span class=\"p\">):</span>\n        <span class=\"k\">return</span> <span class=\"bp\">self</span><span class=\"o\">.</span><span class=\"n\">year_in_school</span> <span class=\"ow\">in</span> <span class=\"p\">{</span>\n            <span class=\"bp\">self</span><span class=\"o\">.</span><span class=\"n\">YearInSchool</span><span class=\"o\">.</span><span class=\"n\">JUNIOR</span><span class=\"p\">,</span>\n            <span class=\"bp\">self</span><span class=\"o\">.</span><span class=\"n\">YearInSchool</span><span class=\"o\">.</span><span class=\"n\">SENIOR</span><span class=\"p\">,</span>\n        <span class=\"p\">}</span>\n</code></pre></div>\n<p>Dessa fungerar på liknande sätt som <a class=\"reference external\" href=\"https://docs.python.org/3/library/enum.html#module-enum\" title=\"(in Python v3.14)\"><code class=\"xref py py-mod docutils literal notranslate\"><span class=\"pre\">enum</span></code></a> från Pythons standardbibliotek, men med vissa ändringar:</p>\n<ul>\n<li><p>Enum-medlemsvärden är en tupel av argument som ska användas när den konkreta datatypen konstrueras. Django stöder att lägga till ett extra strängvärde i slutet av denna tuple som ska användas som det mänskliga läsbara namnet, eller <code class=\"docutils literal notranslate\"><span class=\"pre\">label</span></code>. <code class=\"docutils literal notranslate\"><span class=\"pre\">label</span></code> kan vara en lat översättningsbar sträng. I de flesta fall kommer alltså medlemsvärdet att vara en <code class=\"docutils literal notranslate\"><span class=\"pre\">(värde,</span> <span class=\"pre\">etikett)</span></code> 2-tupel. Se nedan för <a class=\"reference internal\" href=\"#field-choices-enum-subclassing\"><span class=\"std std-ref\">ett exempel på underklassning av val</span></a> med en mer komplex datatyp. Om en tupel inte tillhandahålls, eller om det sista objektet inte är en (lat) sträng, är <code class=\"docutils literal notranslate\"><span class=\"pre\">label</span></code> <a class=\"reference internal\" href=\"#field-choices-enum-auto-label\"><span class=\"std std-ref\">automatiskt genererad</span></a> från medlemsnamnet.</p></li>\n<li><p>En <code class=\"docutils literal notranslate\"><span class=\"pre\">.label</span></code>-egenskap läggs till på värden för att returnera det mänskligt läsbara namnet.</p></li>\n<li><p>Ett antal anpassade egenskaper läggs till i uppräkningsklasserna - <code class=\"docutils literal notranslate\"><span class=\"pre\">.choices</span></code>, <code class=\"docutils literal notranslate\"><span class=\"pre\">.labels</span></code>, <code class=\"docutils literal notranslate\"><span class=\"pre\">.values</span></code> och <code class=\"docutils literal notranslate\"><span class=\"pre\">.names</span></code> - för att göra det lättare att komma åt listor över dessa separata delar av uppräkningen.</p>\n<aside class=\"admonition admonition-warning\" role=\"note\">\n<p class=\"admonition-title\">Varning</p>\n<p>Dessa egenskapsnamn kan inte användas som medlemsnamn eftersom de då skulle stå i konflikt med varandra.</p>\n</aside>\n</li>\n<li><p>The use of <a class=\"reference external\" href=\"https://docs.python.org/3/library/enum.html#enum.unique\" title=\"(in Python v3.14)\"><code class=\"xref py py-func docutils literal notranslate\"><span class=\"pre\">enum.unique()</span></code></a> is enforced to ensure that values cannot be\ndefined multiple times. This is unlikely to be expected in choices for a\nfield.</p></li>\n</ul>\n<p>Observera att användning av <code class=\"docutils literal notranslate\"><span class=\"pre\">YearInSchool.SENIOR</span></code>, <code class=\"docutils literal notranslate\"><span class=\"pre\">YearInSchool['SENIOR']</span></code> eller <code class=\"docutils literal notranslate\"><span class=\"pre\">YearInSchool('SR')</span></code> för att komma åt eller slå upp enum-medlemmar fungerar som förväntat, liksom egenskaperna <code class=\"docutils literal notranslate\"><span class=\"pre\">.name</span></code> och <code class=\"docutils literal notranslate\"><span class=\"pre\">.value</span></code> på medlemmarna.</p>\n<p id=\"field-choices-enum-auto-label\">Om du inte behöver översätta de lättlästa namnen kan du låta dem härledas från medlemsnamnet (genom att ersätta understreck med mellanslag och använda titelfas):</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=\"k\">class</span><span class=\"w\"> </span><span class=\"nc\">Vehicle</span><span class=\"p\">(</span><span class=\"n\">models</span><span class=\"o\">.</span><span class=\"n\">TextChoices</span><span class=\"p\">):</span>\n<span class=\"gp\">... </span>    <span class=\"n\">CAR</span> <span class=\"o\">=</span> <span class=\"s2\">&quot;C&quot;</span>\n<span class=\"gp\">... </span>    <span class=\"n\">TRUCK</span> <span class=\"o\">=</span> <span class=\"s2\">&quot;T&quot;</span>\n<span class=\"gp\">... </span>    <span class=\"n\">JET_SKI</span> <span class=\"o\">=</span> <span class=\"s2\">&quot;J&quot;</span>\n<span class=\"gp\">...</span>\n<span class=\"gp\">&gt;&gt;&gt; </span><span class=\"n\">Vehicle</span><span class=\"o\">.</span><span class=\"n\">JET_SKI</span><span class=\"o\">.</span><span class=\"n\">label</span>\n<span class=\"go\">&#39;Jet Ski&#39;</span>\n</code></pre></div>\n<p>Eftersom fallet där enumvärdena måste vara heltal är extremt vanligt, tillhandahåller Django en <code class=\"docutils literal notranslate\"><span class=\"pre\">IntegerChoices</span></code>-klass. Till exempel:</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\">Card</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=\"k\">class</span><span class=\"w\"> </span><span class=\"nc\">Suit</span><span class=\"p\">(</span><span class=\"n\">models</span><span class=\"o\">.</span><span class=\"n\">IntegerChoices</span><span class=\"p\">):</span>\n        <span class=\"n\">DIAMOND</span> <span class=\"o\">=</span> <span class=\"mi\">1</span>\n        <span class=\"n\">SPADE</span> <span class=\"o\">=</span> <span class=\"mi\">2</span>\n        <span class=\"n\">HEART</span> <span class=\"o\">=</span> <span class=\"mi\">3</span>\n        <span class=\"n\">CLUB</span> <span class=\"o\">=</span> <span class=\"mi\">4</span>\n\n    <span class=\"n\">suit</span> <span class=\"o\">=</span> <span class=\"n\">models</span><span class=\"o\">.</span><span class=\"n\">IntegerField</span><span class=\"p\">(</span><span class=\"n\">choices</span><span class=\"o\">=</span><span class=\"n\">Suit</span><span class=\"p\">)</span>\n</code></pre></div>\n<p>Det är också möjligt att använda <a class=\"reference external\" href=\"https://docs.python.org/3/howto/enum.html#functional-api\">Enum Functional API</a> med förbehållet att etiketter genereras automatiskt enligt ovan:</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\">MedalType</span> <span class=\"o\">=</span> <span class=\"n\">models</span><span class=\"o\">.</span><span class=\"n\">TextChoices</span><span class=\"p\">(</span><span class=\"s2\">&quot;MedalType&quot;</span><span class=\"p\">,</span> <span class=\"s2\">&quot;GOLD SILVER BRONZE&quot;</span><span class=\"p\">)</span>\n<span class=\"gp\">&gt;&gt;&gt; </span><span class=\"n\">MedalType</span><span class=\"o\">.</span><span class=\"n\">choices</span>\n<span class=\"go\">[(&#39;GOLD&#39;, &#39;Gold&#39;), (&#39;SILVER&#39;, &#39;Silver&#39;), (&#39;BRONZE&#39;, &#39;Bronze&#39;)]</span>\n<span class=\"gp\">&gt;&gt;&gt; </span><span class=\"n\">Place</span> <span class=\"o\">=</span> <span class=\"n\">models</span><span class=\"o\">.</span><span class=\"n\">IntegerChoices</span><span class=\"p\">(</span><span class=\"s2\">&quot;Place&quot;</span><span class=\"p\">,</span> <span class=\"s2\">&quot;FIRST SECOND THIRD&quot;</span><span class=\"p\">)</span>\n<span class=\"gp\">&gt;&gt;&gt; </span><span class=\"n\">Place</span><span class=\"o\">.</span><span class=\"n\">choices</span>\n<span class=\"go\">[(1, &#39;First&#39;), (2, &#39;Second&#39;), (3, &#39;Third&#39;)]</span>\n</code></pre></div>\n<p id=\"field-choices-enum-subclassing\">Om du behöver stöd för en annan konkret datatyp än <code class=\"docutils literal notranslate\"><span class=\"pre\">int</span></code> eller <code class=\"docutils literal notranslate\"><span class=\"pre\">str</span></code> kan du subklassa <code class=\"docutils literal notranslate\"><span class=\"pre\">Choices</span></code> och den nödvändiga konkreta datatypen, t.ex. <a class=\"reference external\" href=\"https://docs.python.org/3/library/datetime.html#datetime.date\" title=\"(in Python v3.14)\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">date</span></code></a> för användning med <a class=\"reference internal\" href=\"#django.db.models.DateField\" title=\"django.db.models.DateField\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">DateField</span></code></a>:</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\">MoonLandings</span><span class=\"p\">(</span><span class=\"n\">datetime</span><span class=\"o\">.</span><span class=\"n\">date</span><span class=\"p\">,</span> <span class=\"n\">models</span><span class=\"o\">.</span><span class=\"n\">Choices</span><span class=\"p\">):</span>\n    <span class=\"n\">APOLLO_11</span> <span class=\"o\">=</span> <span class=\"mi\">1969</span><span class=\"p\">,</span> <span class=\"mi\">7</span><span class=\"p\">,</span> <span class=\"mi\">20</span><span class=\"p\">,</span> <span class=\"s2\">&quot;Apollo 11 (Eagle)&quot;</span>\n    <span class=\"n\">APOLLO_12</span> <span class=\"o\">=</span> <span class=\"mi\">1969</span><span class=\"p\">,</span> <span class=\"mi\">11</span><span class=\"p\">,</span> <span class=\"mi\">19</span><span class=\"p\">,</span> <span class=\"s2\">&quot;Apollo 12 (Intrepid)&quot;</span>\n    <span class=\"n\">APOLLO_14</span> <span class=\"o\">=</span> <span class=\"mi\">1971</span><span class=\"p\">,</span> <span class=\"mi\">2</span><span class=\"p\">,</span> <span class=\"mi\">5</span><span class=\"p\">,</span> <span class=\"s2\">&quot;Apollo 14 (Antares)&quot;</span>\n    <span class=\"n\">APOLLO_15</span> <span class=\"o\">=</span> <span class=\"mi\">1971</span><span class=\"p\">,</span> <span class=\"mi\">7</span><span class=\"p\">,</span> <span class=\"mi\">30</span><span class=\"p\">,</span> <span class=\"s2\">&quot;Apollo 15 (Falcon)&quot;</span>\n    <span class=\"n\">APOLLO_16</span> <span class=\"o\">=</span> <span class=\"mi\">1972</span><span class=\"p\">,</span> <span class=\"mi\">4</span><span class=\"p\">,</span> <span class=\"mi\">21</span><span class=\"p\">,</span> <span class=\"s2\">&quot;Apollo 16 (Orion)&quot;</span>\n    <span class=\"n\">APOLLO_17</span> <span class=\"o\">=</span> <span class=\"mi\">1972</span><span class=\"p\">,</span> <span class=\"mi\">12</span><span class=\"p\">,</span> <span class=\"mi\">11</span><span class=\"p\">,</span> <span class=\"s2\">&quot;Apollo 17 (Challenger)&quot;</span>\n</code></pre></div>\n<p>Det finns några ytterligare förbehåll att vara medveten om:</p>\n<ul>\n<li><p>Uppräkningstyper stöder inte <a class=\"reference internal\" href=\"#field-choices-named-groups\"><span class=\"std std-ref\">namngivna grupper</span></a>.</p></li>\n<li><p>Eftersom en uppräkning med en konkret datatyp kräver att alla värden matchar typen, kan åsidosättande av <a class=\"reference internal\" href=\"#field-choices-blank-label\"><span class=\"std std-ref\">blank label</span></a> inte uppnås genom att skapa en medlem med värdet <code class=\"docutils literal notranslate\"><span class=\"pre\">None</span></code>. Istället ställer du in attributet <code class=\"docutils literal notranslate\"><span class=\"pre\">__empty__</span></code> på klassen:</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\">Answer</span><span class=\"p\">(</span><span class=\"n\">models</span><span class=\"o\">.</span><span class=\"n\">IntegerChoices</span><span class=\"p\">):</span>\n    <span class=\"n\">NO</span> <span class=\"o\">=</span> <span class=\"mi\">0</span><span class=\"p\">,</span> <span class=\"n\">_</span><span class=\"p\">(</span><span class=\"s2\">&quot;No&quot;</span><span class=\"p\">)</span>\n    <span class=\"n\">YES</span> <span class=\"o\">=</span> <span class=\"mi\">1</span><span class=\"p\">,</span> <span class=\"n\">_</span><span class=\"p\">(</span><span class=\"s2\">&quot;Yes&quot;</span><span class=\"p\">)</span>\n\n    <span class=\"n\">__empty__</span> <span class=\"o\">=</span> <span class=\"n\">_</span><span class=\"p\">(</span><span class=\"s2\">&quot;(Unknown)&quot;</span><span class=\"p\">)</span>\n</code></pre></div>\n</li>\n</ul>\n</section>\n</section>\n<section id=\"db-column\">\n<h3><code class=\"docutils literal notranslate\"><span class=\"pre\">db_kolumn</span></code><a class=\"heading-anchor\" href=\"#db-column\"><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.Field.db_column\">\n<span class=\"sig-prename descclassname\"><span class=\"pre\">Field.</span></span><span class=\"sig-name descname\"><span class=\"pre\">db_column</span></span><a class=\"heading-anchor\" href=\"#django.db.models.Field.db_column\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p>Namnet på den databaskolumn som ska användas för detta fält. Om detta inte anges kommer Django att använda fältets namn.</p>\n<p>Om kolumnnamnet i din databas är ett reserverat SQL-ord eller innehåller tecken som inte är tillåtna i Python-variabelnamn - särskilt bindestrecket - är det OK. Django citerar kolumn- och tabellnamn bakom kulisserna.</p>\n</section>\n<section id=\"db-comment\">\n<h3><code class=\"docutils literal notranslate\"><span class=\"pre\">db_kommentar</span></code><a class=\"heading-anchor\" href=\"#db-comment\"><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.Field.db_comment\">\n<span class=\"sig-prename descclassname\"><span class=\"pre\">Field.</span></span><span class=\"sig-name descname\"><span class=\"pre\">db_comment</span></span><a class=\"heading-anchor\" href=\"#django.db.models.Field.db_comment\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p>Kommentaren till den databaskolumn som ska användas för detta fält. Det är användbart för att dokumentera fält för personer med direkt databasåtkomst som kanske inte tittar på din Django-kod. Till exempel:</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\">pub_date</span> <span class=\"o\">=</span> <span class=\"n\">models</span><span class=\"o\">.</span><span class=\"n\">DateTimeField</span><span class=\"p\">(</span>\n    <span class=\"n\">db_comment</span><span class=\"o\">=</span><span class=\"s2\">&quot;Date and time when the article was published&quot;</span><span class=\"p\">,</span>\n<span class=\"p\">)</span>\n</code></pre></div>\n</section>\n<section id=\"db-default\">\n<h3><code class=\"docutils literal notranslate\"><span class=\"pre\">db_default</span></code><a class=\"heading-anchor\" href=\"#db-default\"><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.Field.db_default\">\n<span class=\"sig-prename descclassname\"><span class=\"pre\">Field.</span></span><span class=\"sig-name descname\"><span class=\"pre\">db_default</span></span><a class=\"heading-anchor\" href=\"#django.db.models.Field.db_default\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p>Det databasberäknade standardvärdet för detta fält. Detta kan vara ett bokstavligt värde eller en databasfunktion, t.ex. <a class=\"reference internal\" href=\"/sv/6.1/ref/models/database-functions/#django.db.models.functions.Now\" title=\"django.db.models.functions.Now\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">Now</span></code></a>:</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\">created</span> <span class=\"o\">=</span> <span class=\"n\">models</span><span class=\"o\">.</span><span class=\"n\">DateTimeField</span><span class=\"p\">(</span><span class=\"n\">db_default</span><span class=\"o\">=</span><span class=\"n\">Now</span><span class=\"p\">())</span>\n</code></pre></div>\n<p>Mer komplexa uttryck kan användas, så länge de är uppbyggda av literaler och databasfunktioner:</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\">month_due</span> <span class=\"o\">=</span> <span class=\"n\">models</span><span class=\"o\">.</span><span class=\"n\">DateField</span><span class=\"p\">(</span>\n    <span class=\"n\">db_default</span><span class=\"o\">=</span><span class=\"n\">TruncMonth</span><span class=\"p\">(</span>\n        <span class=\"n\">Now</span><span class=\"p\">()</span> <span class=\"o\">+</span> <span class=\"n\">timedelta</span><span class=\"p\">(</span><span class=\"n\">days</span><span class=\"o\">=</span><span class=\"mi\">90</span><span class=\"p\">),</span>\n        <span class=\"n\">output_field</span><span class=\"o\">=</span><span class=\"n\">models</span><span class=\"o\">.</span><span class=\"n\">DateField</span><span class=\"p\">(),</span>\n    <span class=\"p\">)</span>\n<span class=\"p\">)</span>\n</code></pre></div>\n<p>Databasens standardvärden kan inte referera till andra fält eller modeller. Detta är till exempel ogiltigt:</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\">end</span> <span class=\"o\">=</span> <span class=\"n\">models</span><span class=\"o\">.</span><span class=\"n\">IntegerField</span><span class=\"p\">(</span><span class=\"n\">db_default</span><span class=\"o\">=</span><span class=\"n\">F</span><span class=\"p\">(</span><span class=\"s2\">&quot;start&quot;</span><span class=\"p\">)</span> <span class=\"o\">+</span> <span class=\"mi\">50</span><span class=\"p\">)</span>\n</code></pre></div>\n<p>Om både <code class=\"docutils literal notranslate\"><span class=\"pre\">db_default</span></code> och <code class=\"xref py py-attr docutils literal notranslate\"><span class=\"pre\">Field.default`</span></code> är inställda kommer <code class=\"docutils literal notranslate\"><span class=\"pre\">default</span></code> att ha företräde när instanser skapas i Python-kod. <code class=\"docutils literal notranslate\"><span class=\"pre\">db_default</span></code> kommer fortfarande att vara inställt på databasnivå och kommer att användas när rader infogas utanför ORM eller när ett nytt fält läggs till i en migrering.</p>\n<p>Om ett fält har ett <code class=\"docutils literal notranslate\"><span class=\"pre\">db_default</span></code> utan att ett <code class=\"docutils literal notranslate\"><span class=\"pre\">default</span></code> har angetts och inget värde har tilldelats fältet, returneras ett <code class=\"docutils literal notranslate\"><span class=\"pre\">DatabaseDefault</span></code>-objekt som fältvärde på osparade modellinstanser. Det faktiska värdet för fältet bestäms av databasen när modellinstansen sparas.</p>\n</section>\n<section id=\"db-index\">\n<h3><code class=\"docutils literal notranslate\"><span class=\"pre\">db_index</span></code><a class=\"heading-anchor\" href=\"#db-index\"><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.Field.db_index\">\n<span class=\"sig-prename descclassname\"><span class=\"pre\">Field.</span></span><span class=\"sig-name descname\"><span class=\"pre\">db_index</span></span><a class=\"heading-anchor\" href=\"#django.db.models.Field.db_index\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p>Om <code class=\"docutils literal notranslate\"><span class=\"pre\">True</span></code>, skapas ett databasindex för detta fält.</p>\n<aside class=\"admonition-use-the-attr-options-indexes-option-instead admonition\">\n<p class=\"admonition-title\">Använd alternativet <a class=\"reference internal\" href=\"/sv/6.1/ref/models/options/#django.db.models.Options.indexes\" title=\"django.db.models.Options.indexes\"><code class=\"xref py py-attr docutils literal notranslate\"><span class=\"pre\">indexes</span></code></a> istället.</p>\n<p>Där det är möjligt, använd alternativet <a class=\"reference internal\" href=\"/sv/6.1/ref/models/options/#django.db.models.Options.indexes\" title=\"django.db.models.Options.indexes\"><code class=\"xref py py-attr docutils literal notranslate\"><span class=\"pre\">Meta.indexes</span></code></a> istället. I nästan alla fall ger <a class=\"reference internal\" href=\"/sv/6.1/ref/models/options/#django.db.models.Options.indexes\" title=\"django.db.models.Options.indexes\"><code class=\"xref py py-attr docutils literal notranslate\"><span class=\"pre\">indexes</span></code></a> mer funktionalitet än <code class=\"docutils literal notranslate\"><span class=\"pre\">db_index</span></code>. <code class=\"docutils literal notranslate\"><span class=\"pre\">db_index</span></code> kan bli föråldrad i framtiden.</p>\n</aside>\n</section>\n<section id=\"db-tablespace\">\n<h3><code class=\"docutils literal notranslate\"><span class=\"pre\">db_tablespace</span></code><a class=\"heading-anchor\" href=\"#db-tablespace\"><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.Field.db_tablespace\">\n<span class=\"sig-prename descclassname\"><span class=\"pre\">Field.</span></span><span class=\"sig-name descname\"><span class=\"pre\">db_tablespace</span></span><a class=\"heading-anchor\" href=\"#django.db.models.Field.db_tablespace\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p>Namnet på <a class=\"reference internal\" href=\"/sv/6.1/topics/db/tablespaces/\"><span class=\"doc\">database tablespace</span></a> som ska användas för fältets index, om fältet är indexerat. Standardvärdet är projektets <a class=\"reference internal\" href=\"/sv/6.1/ref/settings/#std-setting-DEFAULT_INDEX_TABLESPACE\"><code class=\"xref std std-setting docutils literal notranslate\"><span class=\"pre\">DEFAULT_INDEX_TABLESPACE</span></code></a>-inställning, om den är inställd, eller modellens <a class=\"reference internal\" href=\"/sv/6.1/ref/models/options/#django.db.models.Options.db_tablespace\" title=\"django.db.models.Options.db_tablespace\"><code class=\"xref py py-attr docutils literal notranslate\"><span class=\"pre\">db_tablespace</span></code></a>, om det finns någon. Om backend inte stöder tablespaces för index, ignoreras detta alternativ.</p>\n</section>\n<section id=\"default\">\n<h3><code class=\"docutils literal notranslate\"><span class=\"pre\">standard</span></code><a class=\"heading-anchor\" href=\"#default\"><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.Field.default\">\n<span class=\"sig-prename descclassname\"><span class=\"pre\">Field.</span></span><span class=\"sig-name descname\"><span class=\"pre\">default</span></span><a class=\"heading-anchor\" href=\"#django.db.models.Field.default\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p>Standardvärdet för fältet. Detta kan vara ett värde eller ett anropsbart objekt. Om det är anropsbart kommer det att anropas varje gång ett nytt objekt skapas.</p>\n<p>Standardvärdet kan inte vara ett föränderligt objekt (modellinstans, <code class=\"docutils literal notranslate\"><span class=\"pre\">list</span></code>, <code class=\"docutils literal notranslate\"><span class=\"pre\">set</span></code>, etc.), eftersom en referens till samma instans av det objektet skulle användas som standardvärde i alla nya modellinstanser. Istället kan du paketera det önskade standardvärdet i en callable. Om du till exempel vill ange en standard <code class=\"docutils literal notranslate\"><span class=\"pre\">dict</span></code> för <a class=\"reference internal\" href=\"#django.db.models.JSONField\" title=\"django.db.models.JSONField\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">JSONField</span></code></a>, använd en funktion:</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\">def</span><span class=\"w\"> </span><span class=\"nf\">contact_default</span><span class=\"p\">():</span>\n    <span class=\"k\">return</span> <span class=\"p\">{</span><span class=\"s2\">&quot;email&quot;</span><span class=\"p\">:</span> <span class=\"s2\">&quot;to1@example.com&quot;</span><span class=\"p\">}</span>\n\n\n<span class=\"n\">contact_info</span> <span class=\"o\">=</span> <span class=\"n\">JSONField</span><span class=\"p\">(</span><span class=\"s2\">&quot;ContactInfo&quot;</span><span class=\"p\">,</span> <span class=\"n\">default</span><span class=\"o\">=</span><span class=\"n\">contact_default</span><span class=\"p\">)</span>\n</code></pre></div>\n<p><code class=\"docutils literal notranslate\"><span class=\"pre\">lambda</span></code> kan inte användas för fältalternativ som <code class=\"docutils literal notranslate\"><span class=\"pre\">default</span></code> eftersom de inte kan <a class=\"reference internal\" href=\"/sv/6.1/topics/migrations/#migration-serializing\"><span class=\"std std-ref\">serialiseras av migreringar</span></a>. Se den dokumentationen för andra varningar.</p>\n<p>För fält som <a class=\"reference internal\" href=\"#django.db.models.ForeignKey\" title=\"django.db.models.ForeignKey\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">ForeignKey</span></code></a> som mappar till modellinstanser bör standardvärdena vara värdet för det fält som de refererar till (<code class=\"docutils literal notranslate\"><span class=\"pre\">pk</span></code> om inte <a class=\"reference internal\" href=\"#django.db.models.ForeignKey.to_field\" title=\"django.db.models.ForeignKey.to_field\"><code class=\"xref py py-attr docutils literal notranslate\"><span class=\"pre\">to_field</span></code></a> är inställt) i stället för modellinstanser.</p>\n<p>Standardvärdet används när nya modellinstanser skapas och inget värde har angetts för fältet. När fältet är en primärnyckel används standardvärdet även när fältet är inställt på <code class=\"docutils literal notranslate\"><span class=\"pre\">None</span></code>.</p>\n<p>Standardvärdet kan också ställas in på databasnivå med <a class=\"reference internal\" href=\"#django.db.models.Field.db_default\" title=\"django.db.models.Field.db_default\"><code class=\"xref py py-attr docutils literal notranslate\"><span class=\"pre\">Field.db_default</span></code></a>.</p>\n</section>\n<section id=\"editable\">\n<h3>”redigerbar<a class=\"heading-anchor\" href=\"#editable\"><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.Field.editable\">\n<span class=\"sig-prename descclassname\"><span class=\"pre\">Field.</span></span><span class=\"sig-name descname\"><span class=\"pre\">editable</span></span><a class=\"heading-anchor\" href=\"#django.db.models.Field.editable\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p>Om <code class=\"docutils literal notranslate\"><span class=\"pre\">False</span></code>, kommer fältet inte att visas i admin eller någon annan <a class=\"reference internal\" href=\"/sv/6.1/topics/forms/modelforms/#django.forms.ModelForm\" title=\"django.forms.ModelForm\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">ModelForm</span></code></a>. Det kommer också att hoppas över under <a class=\"reference internal\" href=\"/sv/6.1/ref/models/instances/#validating-objects\"><span class=\"std std-ref\">modellvalidering</span></a>. Standard är <code class=\"docutils literal notranslate\"><span class=\"pre\">True</span></code>.</p>\n</section>\n<section id=\"error-messages\">\n<h3><code class=\"docutils literal notranslate\"><span class=\"pre\">Felmeddelanden</span></code><a class=\"heading-anchor\" href=\"#error-messages\"><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.Field.error_messages\">\n<span class=\"sig-prename descclassname\"><span class=\"pre\">Field.</span></span><span class=\"sig-name descname\"><span class=\"pre\">error_messages</span></span><a class=\"heading-anchor\" href=\"#django.db.models.Field.error_messages\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p>Med argumentet <code class=\"docutils literal notranslate\"><span class=\"pre\">error_messages</span></code> kan du åsidosätta de standardmeddelanden som fältet kommer att ge upphov till. Skicka in en ordbok med nycklar som matchar de felmeddelanden som du vill åsidosätta.</p>\n<p>Felmeddelanden inkluderar <code class=\"docutils literal notranslate\"><span class=\"pre\">null</span></code>, <code class=\"docutils literal notranslate\"><span class=\"pre\">blank</span></code>, <code class=\"docutils literal notranslate\"><span class=\"pre\">invalid</span></code>, <code class=\"docutils literal notranslate\"><span class=\"pre\">invalid_choice</span></code>, <code class=\"docutils literal notranslate\"><span class=\"pre\">unique</span></code> och <code class=\"docutils literal notranslate\"><span class=\"pre\">unique_for_date</span></code>. Ytterligare nycklar för felmeddelanden anges för varje fält i avsnittet ”Fälttyper” nedan.</p>\n<p>Dessa felmeddelanden sprids ofta inte till formulär. Se <span class=\"xref std std-ref\">betraktelser-om-modell-felmeddelanden</span>.</p>\n</section>\n<section id=\"help-text\">\n<h3><code class=\"docutils literal notranslate\"><span class=\"pre\">hjälp_text</span></code><a class=\"heading-anchor\" href=\"#help-text\"><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.Field.help_text\">\n<span class=\"sig-prename descclassname\"><span class=\"pre\">Field.</span></span><span class=\"sig-name descname\"><span class=\"pre\">help_text</span></span><a class=\"heading-anchor\" href=\"#django.db.models.Field.help_text\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p>Extra ”hjälp”-text som ska visas med formulärwidgeten. Det är användbart för dokumentation även om ditt fält inte används i ett formulär.</p>\n<p>Observera att detta värde <em>inte</em> är HTML-escaped i automatiskt genererade formulär. Detta gör att du kan inkludera HTML i <a class=\"reference internal\" href=\"#django.db.models.Field.help_text\" title=\"django.db.models.Field.help_text\"><code class=\"xref py py-attr docutils literal notranslate\"><span class=\"pre\">help_text</span></code></a> om du så önskar. Till exempel:</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\">help_text</span> <span class=\"o\">=</span> <span class=\"s2\">&quot;Please use the following format: &lt;em&gt;YYYY-MM-DD&lt;/em&gt;.&quot;</span>\n</code></pre></div>\n<p>Alternativt kan du använda vanlig text och <a class=\"reference internal\" href=\"/sv/6.1/ref/utils/#django.utils.html.escape\" title=\"django.utils.html.escape\"><code class=\"xref py py-func docutils literal notranslate\"><span class=\"pre\">django.utils.html.escape()</span></code></a> för att undkomma alla HTML-specialtecken. Se till att du undandrar all hjälptext som kan komma från icke betrodda användare för att undvika en cross-site scripting-attack.</p>\n</section>\n<section id=\"primary-key\">\n<h3><code class=\"docutils literal notranslate\"><span class=\"pre\">primär_nyckel</span></code><a class=\"heading-anchor\" href=\"#primary-key\"><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.Field.primary_key\">\n<span class=\"sig-prename descclassname\"><span class=\"pre\">Field.</span></span><span class=\"sig-name descname\"><span class=\"pre\">primary_key</span></span><a class=\"heading-anchor\" href=\"#django.db.models.Field.primary_key\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p>Om <code class=\"docutils literal notranslate\"><span class=\"pre\">True</span></code>, är detta fält primärnyckel för modellen.</p>\n<p>Om du inte anger <code class=\"docutils literal notranslate\"><span class=\"pre\">primary_key=True</span></code> för något fält i din modell och inte har definierat en sammansatt primärnyckel, kommer Django automatiskt att lägga till ett fält för att hålla primärnyckeln. Så du behöver inte ställa in <code class=\"docutils literal notranslate\"><span class=\"pre\">primary_key=True</span></code> på något av dina fält om du inte vill åsidosätta standardbeteendet för primärnyckeln. Typen av automatiskt skapade primärnyckelfält kan anges per app i <a class=\"reference internal\" href=\"/sv/6.1/ref/applications/#django.apps.AppConfig.default_auto_field\" title=\"django.apps.AppConfig.default_auto_field\"><code class=\"xref py py-attr docutils literal notranslate\"><span class=\"pre\">AppConfig.default_auto_field</span></code></a> eller globalt i inställningen <a class=\"reference internal\" href=\"/sv/6.1/ref/settings/#std-setting-DEFAULT_AUTO_FIELD\"><code class=\"xref std std-setting docutils literal notranslate\"><span class=\"pre\">DEFAULT_AUTO_FIELD</span></code></a>. För mer information, se <a class=\"reference internal\" href=\"/sv/6.1/topics/db/models/#automatic-primary-key-fields\"><span class=\"std std-ref\">Automatiska primärnyckelfält</span></a>.</p>\n<p><code class=\"docutils literal notranslate\"><span class=\"pre\">primary_key=True</span></code> innebär <a class=\"reference internal\" href=\"#django.db.models.Field.null\" title=\"django.db.models.Field.null\"><code class=\"xref py py-attr docutils literal notranslate\"><span class=\"pre\">null=False</span></code></a> och <a class=\"reference internal\" href=\"#django.db.models.Field.unique\" title=\"django.db.models.Field.unique\"><code class=\"xref py py-attr docutils literal notranslate\"><span class=\"pre\">unique=True</span></code></a>. Endast ett fält per modell kan ange <code class=\"docutils literal notranslate\"><span class=\"pre\">primary_key=True</span></code>. Sammansatta primärnycklar måste definieras med hjälp av <a class=\"reference internal\" href=\"#django.db.models.CompositePrimaryKey\" title=\"django.db.models.CompositePrimaryKey\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">CompositePrimaryKey</span></code></a> i stället för att sätta denna flagga till <code class=\"docutils literal notranslate\"><span class=\"pre\">True</span></code> för alla fält för att bibehålla denna invariant.</p>\n<p>Fältet primary key är skrivskyddat. Om du ändrar värdet på primärnyckeln i ett befintligt objekt och sedan sparar det, skapas ett nytt objekt vid sidan av det gamla.</p>\n<p>The primary key field is set to <code class=\"docutils literal notranslate\"><span class=\"pre\">None</span></code> when calling a model instance’s\n<a class=\"reference internal\" href=\"/sv/6.1/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> method.</p>\n</section>\n<section id=\"unique\">\n<h3><code class=\"docutils literal notranslate\"><span class=\"pre\">unique</span></code><a class=\"heading-anchor\" href=\"#unique\"><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.Field.unique\">\n<span class=\"sig-prename descclassname\"><span class=\"pre\">Field.</span></span><span class=\"sig-name descname\"><span class=\"pre\">unique</span></span><a class=\"heading-anchor\" href=\"#django.db.models.Field.unique\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p>Om <code class=\"docutils literal notranslate\"><span class=\"pre\">True</span></code> måste detta fält vara unikt i hela tabellen.</p>\n<p>Detta verkställs på databasnivå och genom modellvalidering. Om du försöker spara en modell med ett duplicerat värde i ett <a class=\"reference internal\" href=\"#django.db.models.Field.unique\" title=\"django.db.models.Field.unique\"><code class=\"xref py py-attr docutils literal notranslate\"><span class=\"pre\">unique</span></code></a>-fält, kommer ett <a class=\"reference internal\" href=\"/sv/6.1/ref/exceptions/#django.db.IntegrityError\" title=\"django.db.IntegrityError\"><code class=\"xref py py-exc docutils literal notranslate\"><span class=\"pre\">django.db.IntegrityError</span></code></a> att skapas av modellens <a class=\"reference internal\" href=\"/sv/6.1/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>Detta alternativ är giltigt för alla fälttyper utom <a class=\"reference internal\" href=\"#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> och <a class=\"reference internal\" href=\"#django.db.models.OneToOneField\" title=\"django.db.models.OneToOneField\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">OneToOneField</span></code></a>.</p>\n<p>Observera att när <code class=\"docutils literal notranslate\"><span class=\"pre\">unique</span></code> är <code class=\"docutils literal notranslate\"><span class=\"pre\">True</span></code> behöver du inte ange <a class=\"reference internal\" href=\"#django.db.models.Field.db_index\" title=\"django.db.models.Field.db_index\"><code class=\"xref py py-attr docutils literal notranslate\"><span class=\"pre\">db_index</span></code></a>, eftersom <code class=\"docutils literal notranslate\"><span class=\"pre\">unique</span></code> innebär att ett index skapas.</p>\n</section>\n<section id=\"unique-for-date\">\n<h3><code class=\"docutils literal notranslate\"><span class=\"pre\">unique_for_date</span></code><a class=\"heading-anchor\" href=\"#unique-for-date\"><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.Field.unique_for_date\">\n<span class=\"sig-prename descclassname\"><span class=\"pre\">Field.</span></span><span class=\"sig-name descname\"><span class=\"pre\">unique_for_date</span></span><a class=\"heading-anchor\" href=\"#django.db.models.Field.unique_for_date\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p>Ange detta till namnet på en <a class=\"reference internal\" href=\"#django.db.models.DateField\" title=\"django.db.models.DateField\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">DateField</span></code></a> eller <a class=\"reference internal\" href=\"#django.db.models.DateTimeField\" title=\"django.db.models.DateTimeField\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">DateTimeField</span></code></a> för att kräva att detta fält är unikt för datumfältets värde.</p>\n<p>Om du till exempel har ett fält <code class=\"docutils literal notranslate\"><span class=\"pre\">title</span></code> som har <code class=\"docutils literal notranslate\"><span class=\"pre\">unique_for_date=&quot;pub_date&quot;</span></code>, så skulle Django inte tillåta att två poster med samma <code class=\"docutils literal notranslate\"><span class=\"pre\">title</span></code> och <code class=\"docutils literal notranslate\"><span class=\"pre\">pub_date</span></code> registreras.</p>\n<p>Observera att om du ställer in detta så att det pekar på en <a class=\"reference internal\" href=\"#django.db.models.DateTimeField\" title=\"django.db.models.DateTimeField\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">DateTimeField</span></code></a>, kommer endast datumdelen av fältet att beaktas. Dessutom, när <a class=\"reference internal\" href=\"/sv/6.1/ref/settings/#std-setting-USE_TZ\"><code class=\"xref std std-setting docutils literal notranslate\"><span class=\"pre\">USE_TZ</span></code></a> är <code class=\"docutils literal notranslate\"><span class=\"pre\">True</span></code>, kommer kontrollen att utföras i <a class=\"reference internal\" href=\"/sv/6.1/topics/i18n/timezones/#default-current-time-zone\"><span class=\"std std-ref\">current time zone</span></a> vid den tidpunkt då objektet sparas.</p>\n<p>This is enforced by <a class=\"reference internal\" href=\"/sv/6.1/ref/models/instances/#django.db.models.Model.validate_unique\" title=\"django.db.models.Model.validate_unique\"><code class=\"xref py py-meth docutils literal notranslate\"><span class=\"pre\">Model.validate_unique()</span></code></a> during model validation\nbut not at the database level. If any <a class=\"reference internal\" href=\"#django.db.models.Field.unique_for_date\" title=\"django.db.models.Field.unique_for_date\"><code class=\"xref py py-attr docutils literal notranslate\"><span class=\"pre\">unique_for_date</span></code></a> constraint\ninvolves fields that are not part of a <a class=\"reference internal\" href=\"/sv/6.1/topics/forms/modelforms/#django.forms.ModelForm\" title=\"django.forms.ModelForm\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">ModelForm</span></code></a> (for\nexample, if one of the fields is listed in <code class=\"docutils literal notranslate\"><span class=\"pre\">exclude</span></code> or has\n<a class=\"reference internal\" href=\"#django.db.models.Field.editable\" title=\"django.db.models.Field.editable\"><code class=\"xref py py-attr docutils literal notranslate\"><span class=\"pre\">editable=False</span></code></a>), <a class=\"reference internal\" href=\"/sv/6.1/ref/models/instances/#django.db.models.Model.validate_unique\" title=\"django.db.models.Model.validate_unique\"><code class=\"xref py py-meth docutils literal notranslate\"><span class=\"pre\">Model.validate_unique()</span></code></a> will\nskip validation for that particular constraint.</p>\n</section>\n<section id=\"unique-for-month\">\n<h3><code class=\"docutils literal notranslate\"><span class=\"pre\">unika_för_månad</span></code><a class=\"heading-anchor\" href=\"#unique-for-month\"><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.Field.unique_for_month\">\n<span class=\"sig-prename descclassname\"><span class=\"pre\">Field.</span></span><span class=\"sig-name descname\"><span class=\"pre\">unique_for_month</span></span><a class=\"heading-anchor\" href=\"#django.db.models.Field.unique_for_month\"><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.Field.unique_for_date\" title=\"django.db.models.Field.unique_for_date\"><code class=\"xref py py-attr docutils literal notranslate\"><span class=\"pre\">unique_for_date</span></code></a>, men kräver att fältet är unikt med avseende på månaden.</p>\n</section>\n<section id=\"unique-for-year\">\n<h3><code class=\"docutils literal notranslate\"><span class=\"pre\">unique_for_year</span></code><a class=\"heading-anchor\" href=\"#unique-for-year\"><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.Field.unique_for_year\">\n<span class=\"sig-prename descclassname\"><span class=\"pre\">Field.</span></span><span class=\"sig-name descname\"><span class=\"pre\">unique_for_year</span></span><a class=\"heading-anchor\" href=\"#django.db.models.Field.unique_for_year\"><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.Field.unique_for_date\" title=\"django.db.models.Field.unique_for_date\"><code class=\"xref py py-attr docutils literal notranslate\"><span class=\"pre\">unique_for_date</span></code></a> och <a class=\"reference internal\" href=\"#django.db.models.Field.unique_for_month\" title=\"django.db.models.Field.unique_for_month\"><code class=\"xref py py-attr docutils literal notranslate\"><span class=\"pre\">unique_for_month</span></code></a>.</p>\n</section>\n<section id=\"verbose-name\">\n<h3><code class=\"docutils literal notranslate\"><span class=\"pre\">verbose_namn</span></code><a class=\"heading-anchor\" href=\"#verbose-name\"><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.Field.verbose_name\">\n<span class=\"sig-prename descclassname\"><span class=\"pre\">Field.</span></span><span class=\"sig-name descname\"><span class=\"pre\">verbose_name</span></span><a class=\"heading-anchor\" href=\"#django.db.models.Field.verbose_name\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p>Ett mänskligt läsbart namn för fältet. Om verbose-namnet inte anges kommer Django automatiskt att skapa det med hjälp av fältets attributnamn och konvertera understreck till mellanslag. Se <a class=\"reference internal\" href=\"/sv/6.1/topics/db/models/#verbose-field-names\"><span class=\"std std-ref\">Verbose field names</span></a>.</p>\n</section>\n<section id=\"validators\">\n<h3><code class=\"docutils literal notranslate\"><span class=\"pre\">validerare</span></code><a class=\"heading-anchor\" href=\"#validators\"><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.Field.validators\">\n<span class=\"sig-prename descclassname\"><span class=\"pre\">Field.</span></span><span class=\"sig-name descname\"><span class=\"pre\">validators</span></span><a class=\"heading-anchor\" href=\"#django.db.models.Field.validators\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p>En lista över validerare som ska köras för detta fält. Se <a class=\"reference internal\" href=\"/sv/6.1/ref/validators/\"><span class=\"doc\">validators dokumentation</span></a> för mer information.</p>\n</section>\n</section>\n<section id=\"field-types\">\n<span id=\"model-field-types\"></span><h2>Fälttyper<a class=\"heading-anchor\" href=\"#field-types\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<section id=\"autofield\">\n<h3><code class=\"docutils literal notranslate\"><span class=\"pre\">AutoField</span></code><a class=\"heading-anchor\" href=\"#autofield\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<dl class=\"py class\">\n<dt class=\"sig sig-object py\" id=\"django.db.models.AutoField\">\n<em class=\"property\"><span class=\"k\"><span class=\"pre\">class</span></span><span class=\"w\"> </span></em><span class=\"sig-name descname\"><span class=\"pre\">AutoField</span></span><span class=\"sig-paren\">(</span><em class=\"sig-param\"><span class=\"o\"><span class=\"pre\">**</span></span><span class=\"n\"><span class=\"pre\">options</span></span></em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.db.models.AutoField\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p>En <a class=\"reference internal\" href=\"#django.db.models.IntegerField\" title=\"django.db.models.IntegerField\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">IntegerField</span></code></a> som automatiskt ökar i enlighet med tillgängliga ID:n. Du behöver vanligtvis inte använda detta direkt; ett primärnyckelfält kommer automatiskt att läggas till i din modell om du inte anger något annat. Se <a class=\"reference internal\" href=\"/sv/6.1/topics/db/models/#automatic-primary-key-fields\"><span class=\"std std-ref\">Automatiska primärnyckelfält</span></a>.</p>\n</section>\n<section id=\"bigautofield\">\n<h3><code class=\"docutils literal notranslate\"><span class=\"pre\">BigAutoField</span></code><a class=\"heading-anchor\" href=\"#bigautofield\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<dl class=\"py class\">\n<dt class=\"sig sig-object py\" id=\"django.db.models.BigAutoField\">\n<em class=\"property\"><span class=\"k\"><span class=\"pre\">class</span></span><span class=\"w\"> </span></em><span class=\"sig-name descname\"><span class=\"pre\">BigAutoField</span></span><span class=\"sig-paren\">(</span><em class=\"sig-param\"><span class=\"o\"><span class=\"pre\">**</span></span><span class=\"n\"><span class=\"pre\">options</span></span></em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.db.models.BigAutoField\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p>Ett 64-bitars heltal, ungefär som en <a class=\"reference internal\" href=\"#django.db.models.AutoField\" title=\"django.db.models.AutoField\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">AutoField</span></code></a> förutom att det garanterat passar siffror från <code class=\"docutils literal notranslate\"><span class=\"pre\">1</span></code> till <code class=\"docutils literal notranslate\"><span class=\"pre\">9223372036854775807</span></code>.</p>\n</section>\n<section id=\"bigintegerfield\">\n<h3><code class=\"docutils literal notranslate\"><span class=\"pre\">BigIntegerField</span></code><a class=\"heading-anchor\" href=\"#bigintegerfield\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<dl class=\"py class\">\n<dt class=\"sig sig-object py\" id=\"django.db.models.BigIntegerField\">\n<em class=\"property\"><span class=\"k\"><span class=\"pre\">class</span></span><span class=\"w\"> </span></em><span class=\"sig-name descname\"><span class=\"pre\">BigIntegerField</span></span><span class=\"sig-paren\">(</span><em class=\"sig-param\"><span class=\"o\"><span class=\"pre\">**</span></span><span class=\"n\"><span class=\"pre\">options</span></span></em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.db.models.BigIntegerField\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p>Ett 64-bitars heltal, ungefär som ett <a class=\"reference internal\" href=\"#django.db.models.IntegerField\" title=\"django.db.models.IntegerField\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">IntegerField</span></code></a> förutom att det garanterat passar siffror från <code class=\"docutils literal notranslate\"><span class=\"pre\">-9223372036854775808</span></code> till <code class=\"docutils literal notranslate\"><span class=\"pre\">9223372036854775807</span></code>. Standardformulärwidgeten för detta fält är en <a class=\"reference internal\" href=\"/sv/6.1/ref/forms/widgets/#django.forms.NumberInput\" title=\"django.forms.NumberInput\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">NumberInput</span></code></a>.</p>\n</section>\n<section id=\"binaryfield\">\n<h3><code class=\"docutils literal notranslate\"><span class=\"pre\">BinaryField</span></code><a class=\"heading-anchor\" href=\"#binaryfield\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<dl class=\"py class\">\n<dt class=\"sig sig-object py\" id=\"django.db.models.BinaryField\">\n<em class=\"property\"><span class=\"k\"><span class=\"pre\">class</span></span><span class=\"w\"> </span></em><span class=\"sig-name descname\"><span class=\"pre\">BinaryField</span></span><span class=\"sig-paren\">(</span><em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">max_length</span></span><span class=\"o\"><span class=\"pre\">=</span></span><span class=\"default_value\"><span class=\"pre\">None</span></span></em>, <em class=\"sig-param\"><span class=\"o\"><span class=\"pre\">**</span></span><span class=\"n\"><span class=\"pre\">options</span></span></em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.db.models.BinaryField\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p>Ett fält för att lagra binära rådata. Det kan tilldelas <a class=\"reference external\" href=\"https://docs.python.org/3/library/stdtypes.html#bytes\" title=\"(in Python v3.14)\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">bytes</span></code></a>, <a class=\"reference external\" href=\"https://docs.python.org/3/library/stdtypes.html#bytearray\" title=\"(in Python v3.14)\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">bytearray</span></code></a> eller <a class=\"reference external\" href=\"https://docs.python.org/3/library/stdtypes.html#memoryview\" title=\"(in Python v3.14)\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">memoryview</span></code></a>.</p>\n<p>Som standard ställer <code class=\"docutils literal notranslate\"><span class=\"pre\">BinaryField</span></code> in <a class=\"reference internal\" href=\"#django.db.models.Field.editable\" title=\"django.db.models.Field.editable\"><code class=\"xref py py-attr docutils literal notranslate\"><span class=\"pre\">editable</span></code></a> till <code class=\"docutils literal notranslate\"><span class=\"pre\">False</span></code>, i vilket fall den inte kan inkluderas i en <a class=\"reference internal\" href=\"/sv/6.1/topics/forms/modelforms/#django.forms.ModelForm\" title=\"django.forms.ModelForm\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">ModelForm</span></code></a>.</p>\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.db.models.BinaryField.max_length\">\n<span class=\"sig-prename descclassname\"><span class=\"pre\">BinaryField.</span></span><span class=\"sig-name descname\"><span class=\"pre\">max_length</span></span><a class=\"heading-anchor\" href=\"#django.db.models.BinaryField.max_length\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Valfritt. Den maximala längden (i byte) på fältet. Den maximala längden verkställs i Djangos validering med hjälp av <a class=\"reference internal\" href=\"/sv/6.1/ref/validators/#django.core.validators.MaxLengthValidator\" title=\"django.core.validators.MaxLengthValidator\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">MaxLengthValidator</span></code></a>.</p>\n</dd></dl>\n\n<aside class=\"admonition-abusing-binaryfield admonition\">\n<p class=\"admonition-title\">Missbruk av <code class=\"docutils literal notranslate\"><span class=\"pre\">BinaryField</span></code></p>\n<p>Även om du kanske funderar på att lagra filer i databasen, tänk på att det är dålig design i 99% o av fallen. Det här fältet är <em>inte</em> en ersättning för korrekt hantering av <a class=\"reference internal\" href=\"/sv/6.1/howto/static-files/\"><span class=\"doc\">statiska filer</span></a>.</p>\n</aside>\n</section>\n<section id=\"booleanfield\">\n<h3><code class=\"docutils literal notranslate\"><span class=\"pre\">BooleanField</span></code><a class=\"heading-anchor\" href=\"#booleanfield\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<dl class=\"py class\">\n<dt class=\"sig sig-object py\" id=\"django.db.models.BooleanField\">\n<em class=\"property\"><span class=\"k\"><span class=\"pre\">class</span></span><span class=\"w\"> </span></em><span class=\"sig-name descname\"><span class=\"pre\">BooleanField</span></span><span class=\"sig-paren\">(</span><em class=\"sig-param\"><span class=\"o\"><span class=\"pre\">**</span></span><span class=\"n\"><span class=\"pre\">options</span></span></em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.db.models.BooleanField\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p>Ett sant/falskt fält.</p>\n<p>Standardformulärwidgeten för detta fält är <a class=\"reference internal\" href=\"/sv/6.1/ref/forms/widgets/#django.forms.CheckboxInput\" title=\"django.forms.CheckboxInput\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">CheckboxInput</span></code></a>, eller <a class=\"reference internal\" href=\"/sv/6.1/ref/forms/widgets/#django.forms.NullBooleanSelect\" title=\"django.forms.NullBooleanSelect\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">NullBooleanSelect</span></code></a> om <a class=\"reference internal\" href=\"#django.db.models.Field.null\" title=\"django.db.models.Field.null\"><code class=\"xref py py-attr docutils literal notranslate\"><span class=\"pre\">null=True</span></code></a>.</p>\n<p>Standardvärdet för <code class=\"docutils literal notranslate\"><span class=\"pre\">BooleanField</span></code> är <code class=\"docutils literal notranslate\"><span class=\"pre\">None</span></code> när <a class=\"reference internal\" href=\"#django.db.models.Field.default\" title=\"django.db.models.Field.default\"><code class=\"xref py py-attr docutils literal notranslate\"><span class=\"pre\">Field.default</span></code></a> inte är definierat.</p>\n</section>\n<section id=\"compositeprimarykey\">\n<h3><code class=\"docutils literal notranslate\"><span class=\"pre\">SammansattPrimärnyckel</span></code><a class=\"heading-anchor\" href=\"#compositeprimarykey\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<dl class=\"py class\">\n<dt class=\"sig sig-object py\" id=\"django.db.models.CompositePrimaryKey\">\n<em class=\"property\"><span class=\"k\"><span class=\"pre\">class</span></span><span class=\"w\"> </span></em><span class=\"sig-name descname\"><span class=\"pre\">CompositePrimaryKey</span></span><span class=\"sig-paren\">(</span><em class=\"sig-param\"><span class=\"o\"><span class=\"pre\">*</span></span><span class=\"n\"><span class=\"pre\">field_names</span></span></em>, <em class=\"sig-param\"><span class=\"o\"><span class=\"pre\">**</span></span><span class=\"n\"><span class=\"pre\">options</span></span></em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.db.models.CompositePrimaryKey\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p>Ett virtuellt fält som används för att definiera en sammansatt primärnyckel.</p>\n<p>Detta fält måste definieras som modellens <code class=\"docutils literal notranslate\"><span class=\"pre\">pk</span></code>-attribut. Om det finns kommer Django att skapa den underliggande modelltabellen med en sammansatt primärnyckel.</p>\n<p>Argumentet <code class=\"docutils literal notranslate\"><span class=\"pre\">*field_names</span></code> är en lista med positionella fältnamn som utgör primärnyckeln.</p>\n<p>Se <a class=\"reference internal\" href=\"/sv/6.1/topics/composite-primary-key/\"><span class=\"doc\">Sammansatta primärnycklar</span></a> för mer information.</p>\n</section>\n<section id=\"charfield\">\n<h3><code class=\"docutils literal notranslate\"><span class=\"pre\">CharField</span></code><a class=\"heading-anchor\" href=\"#charfield\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<dl class=\"py class\">\n<dt class=\"sig sig-object py\" id=\"django.db.models.CharField\">\n<em class=\"property\"><span class=\"k\"><span class=\"pre\">class</span></span><span class=\"w\"> </span></em><span class=\"sig-name descname\"><span class=\"pre\">CharField</span></span><span class=\"sig-paren\">(</span><em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">max_length</span></span><span class=\"o\"><span class=\"pre\">=</span></span><span class=\"default_value\"><span class=\"pre\">None</span></span></em>, <em class=\"sig-param\"><span class=\"o\"><span class=\"pre\">**</span></span><span class=\"n\"><span class=\"pre\">options</span></span></em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.db.models.CharField\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p>Ett strängfält, för små till stora strängar.</p>\n<p>För stora mängder text, använd <a class=\"reference internal\" href=\"#django.db.models.TextField\" title=\"django.db.models.TextField\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">TextField</span></code></a>.</p>\n<p>Standardformulärwidgeten för detta fält är en <a class=\"reference internal\" href=\"/sv/6.1/ref/forms/widgets/#django.forms.TextInput\" title=\"django.forms.TextInput\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">TextInput</span></code></a>.</p>\n<p><a class=\"reference internal\" href=\"#django.db.models.CharField\" title=\"django.db.models.CharField\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">CharField</span></code></a> har följande extra argument:</p>\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.db.models.CharField.max_length\">\n<span class=\"sig-prename descclassname\"><span class=\"pre\">CharField.</span></span><span class=\"sig-name descname\"><span class=\"pre\">max_length</span></span><a class=\"heading-anchor\" href=\"#django.db.models.CharField.max_length\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Den maximala längden (i tecken) på fältet. <code class=\"docutils literal notranslate\"><span class=\"pre\">max_length</span></code> verkställs på databasnivå och i Djangos validering med hjälp av <a class=\"reference internal\" href=\"/sv/6.1/ref/validators/#django.core.validators.MaxLengthValidator\" title=\"django.core.validators.MaxLengthValidator\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">MaxLengthValidator</span></code></a>. Det krävs för alla databasbackends som ingår i Django utom PostgreSQL och SQLite, som stöder obegränsade <code class=\"docutils literal notranslate\"><span class=\"pre\">VARCHAR</span></code>-kolumner.</p>\n<aside class=\"admonition admonition-note\" role=\"note\">\n<p class=\"admonition-title\">Observera</p>\n<p>Om du skriver en applikation som måste kunna portas till flera databasbackends bör du vara medveten om att det finns begränsningar för <code class=\"docutils literal notranslate\"><span class=\"pre\">max_length</span></code> för vissa backends. Se <span class=\"xref std std-doc\">Databas backend notes</span> för mer information.</p>\n</aside>\n</dd></dl>\n\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.db.models.CharField.db_collation\">\n<span class=\"sig-prename descclassname\"><span class=\"pre\">CharField.</span></span><span class=\"sig-name descname\"><span class=\"pre\">db_collation</span></span><a class=\"heading-anchor\" href=\"#django.db.models.CharField.db_collation\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Valfritt. Databasens kollationsnamn för fältet.</p>\n<aside class=\"admonition admonition-note\" role=\"note\">\n<p class=\"admonition-title\">Observera</p>\n<p>Kollationeringsnamn är inte standardiserade. Därför kommer detta inte att vara portabelt mellan olika databasbackends.</p>\n</aside>\n<aside class=\"admonition-oracle admonition\">\n<p class=\"admonition-title\">Oracle</p>\n<p>Oracle stöder endast kollationering när databasinitialiseringsparametern <code class=\"docutils literal notranslate\"><span class=\"pre\">MAX_STRING_SIZE</span></code> är inställd på <code class=\"docutils literal notranslate\"><span class=\"pre\">EXTENDED</span></code>.</p>\n</aside>\n</dd></dl>\n\n</section>\n<section id=\"datefield\">\n<h3><code class=\"docutils literal notranslate\"><span class=\"pre\">DateField</span></code><a class=\"heading-anchor\" href=\"#datefield\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<dl class=\"py class\">\n<dt class=\"sig sig-object py\" id=\"django.db.models.DateField\">\n<em class=\"property\"><span class=\"k\"><span class=\"pre\">class</span></span><span class=\"w\"> </span></em><span class=\"sig-name descname\"><span class=\"pre\">DateField</span></span><span class=\"sig-paren\">(</span><em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">auto_now</span></span><span class=\"o\"><span class=\"pre\">=</span></span><span class=\"default_value\"><span class=\"pre\">False</span></span></em>, <em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">auto_now_add</span></span><span class=\"o\"><span class=\"pre\">=</span></span><span class=\"default_value\"><span class=\"pre\">False</span></span></em>, <em class=\"sig-param\"><span class=\"o\"><span class=\"pre\">**</span></span><span class=\"n\"><span class=\"pre\">options</span></span></em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.db.models.DateField\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p>Ett datum, representerat i Python av en <code class=\"docutils literal notranslate\"><span class=\"pre\">datetime.date</span></code>-instans. Har några extra, valfria argument:</p>\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.db.models.DateField.auto_now\">\n<span class=\"sig-prename descclassname\"><span class=\"pre\">DateField.</span></span><span class=\"sig-name descname\"><span class=\"pre\">auto_now</span></span><a class=\"heading-anchor\" href=\"#django.db.models.DateField.auto_now\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Ställ automatiskt in fältet på now varje gång objektet sparas. Användbart för tidsstämplar för ”senast ändrad”. Observera att det aktuella datumet <em>alltid</em> används; det är inte bara ett standardvärde som du kan åsidosätta.</p>\n<p>Fältet uppdateras endast automatiskt när du anropar <a class=\"reference internal\" href=\"/sv/6.1/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>. Fältet uppdateras inte när du gör uppdateringar av andra fält på andra sätt, t.ex. <a class=\"reference internal\" href=\"/sv/6.1/ref/models/querysets/#django.db.models.query.QuerySet.update\" title=\"django.db.models.query.QuerySet.update\"><code class=\"xref py py-meth docutils literal notranslate\"><span class=\"pre\">QuerySet.update()</span></code></a>, men du kan ange ett anpassat värde för fältet i en sådan uppdatering.</p>\n</dd></dl>\n\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.db.models.DateField.auto_now_add\">\n<span class=\"sig-prename descclassname\"><span class=\"pre\">DateField.</span></span><span class=\"sig-name descname\"><span class=\"pre\">auto_now_add</span></span><a class=\"heading-anchor\" href=\"#django.db.models.DateField.auto_now_add\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Ställ automatiskt in fältet på now när objektet skapas för första gången. Användbart för skapande av tidsstämplar. Observera att det aktuella datumet <em>alltid</em> används; det är inte bara ett standardvärde som du kan åsidosätta. Så även om du anger ett värde för det här fältet när du skapar objektet kommer det att ignoreras. Om du vill kunna ändra det här fältet anger du följande i stället för <code class=\"docutils literal notranslate\"><span class=\"pre\">auto_now_add=True</span></code>:</p>\n<ul class=\"simple\">\n<li><p>För <a class=\"reference internal\" href=\"#django.db.models.DateField\" title=\"django.db.models.DateField\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">DateField</span></code></a>: <code class=\"docutils literal notranslate\"><span class=\"pre\">default=date.today</span></code> - från <a class=\"reference external\" href=\"https://docs.python.org/3/library/datetime.html#datetime.date.today\" title=\"(in Python v3.14)\"><code class=\"xref py py-meth docutils literal notranslate\"><span class=\"pre\">datetime.date.today()</span></code></a></p></li>\n<li><p>För <a class=\"reference internal\" href=\"#django.db.models.DateTimeField\" title=\"django.db.models.DateTimeField\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">DateTimeField</span></code></a>: <code class=\"docutils literal notranslate\"><span class=\"pre\">default=timezone.now</span></code> - från <a class=\"reference internal\" href=\"/sv/6.1/ref/utils/#django.utils.timezone.now\" title=\"django.utils.timezone.now\"><code class=\"xref py py-func docutils literal notranslate\"><span class=\"pre\">django.utils.timezone.now()</span></code></a></p></li>\n</ul>\n</dd></dl>\n\n<p>Standardformulärwidgeten för detta fält är en <a class=\"reference internal\" href=\"/sv/6.1/ref/forms/widgets/#django.forms.DateInput\" title=\"django.forms.DateInput\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">DateInput</span></code></a>. Administratören lägger till en JavaScript-kalender och en genväg för ”Today”. Inkluderar ytterligare en nyckel för felmeddelandet <code class=\"docutils literal notranslate\"><span class=\"pre\">invalid_date</span></code>.</p>\n<p>Alternativen <code class=\"docutils literal notranslate\"><span class=\"pre\">auto_now_add</span></code>, <code class=\"docutils literal notranslate\"><span class=\"pre\">auto_now</span></code> och <code class=\"docutils literal notranslate\"><span class=\"pre\">default</span></code> är ömsesidigt uteslutande. Varje kombination av dessa alternativ kommer att resultera i ett fel.</p>\n<aside class=\"admonition admonition-note\" role=\"note\">\n<p class=\"admonition-title\">Observera</p>\n<p>Som det nu är implementerat kommer fältet att få inställningarna <code class=\"docutils literal notranslate\"><span class=\"pre\">editable=False</span></code> och <code class=\"docutils literal notranslate\"><span class=\"pre\">blank=True</span></code> om <code class=\"docutils literal notranslate\"><span class=\"pre\">auto_now</span></code> eller <code class=\"docutils literal notranslate\"><span class=\"pre\">auto_now_add</span></code> sätts till <code class=\"docutils literal notranslate\"><span class=\"pre\">True</span></code>.</p>\n</aside>\n<aside class=\"admonition admonition-note\" role=\"note\">\n<p class=\"admonition-title\">Observera</p>\n<p>Alternativen <code class=\"docutils literal notranslate\"><span class=\"pre\">auto_now</span></code> och <code class=\"docutils literal notranslate\"><span class=\"pre\">auto_now_add</span></code> kommer alltid att använda datumet i <span class=\"xref std std-ref\">default timezone &lt;default-current-time-zone&gt;`</span> vid skapandet eller uppdateringen. Om du behöver något annat kan du överväga att använda din egen anropsbara standard eller åsidosätta <code class=\"docutils literal notranslate\"><span class=\"pre\">save()</span></code> istället för att använda <code class=\"docutils literal notranslate\"><span class=\"pre\">auto_now</span></code> eller <code class=\"docutils literal notranslate\"><span class=\"pre\">auto_now_add</span></code>; eller använda en <code class=\"docutils literal notranslate\"><span class=\"pre\">DateTimeField</span></code> istället för en <code class=\"docutils literal notranslate\"><span class=\"pre\">DateField</span></code> och bestämma hur konverteringen från datetime till datum ska hanteras vid visningstillfället.</p>\n</aside>\n<aside class=\"admonition admonition-warning\" role=\"note\">\n<p class=\"admonition-title\">Varning</p>\n<p>Använd alltid <a class=\"reference internal\" href=\"#django.db.models.DateField\" title=\"django.db.models.DateField\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">DateField</span></code></a> med en <code class=\"docutils literal notranslate\"><span class=\"pre\">datetime.date</span></code>-instans.</p>\n<p>Om du har en <code class=\"docutils literal notranslate\"><span class=\"pre\">datetime.datetime</span></code>-instans rekommenderas det att du konverterar den till en <code class=\"docutils literal notranslate\"><span class=\"pre\">datetime.date</span></code> först. Om du inte gör det kommer <a class=\"reference internal\" href=\"#django.db.models.DateField\" title=\"django.db.models.DateField\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">DateField</span></code></a> att lokalisera <code class=\"docutils literal notranslate\"><span class=\"pre\">datetime.datetime</span></code> till <a class=\"reference internal\" href=\"/sv/6.1/topics/i18n/timezones/#default-current-time-zone\"><span class=\"std std-ref\">default timezone</span></a> och konvertera den till en <code class=\"docutils literal notranslate\"><span class=\"pre\">datetime.date</span></code>-instans och ta bort dess tidskomponent. Detta gäller både för lagring och jämförelse.</p>\n</aside>\n<aside class=\"admonition admonition-warning\" role=\"note\">\n<p class=\"admonition-title\">Varning</p>\n<p>On PostgreSQL and MySQL, arithmetic operations on a <code class=\"docutils literal notranslate\"><span class=\"pre\">DateField</span></code> with a\n<a class=\"reference external\" href=\"https://docs.python.org/3/library/datetime.html#datetime.timedelta\" title=\"(in Python v3.14)\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">timedelta</span></code></a> return a <code class=\"docutils literal notranslate\"><span class=\"pre\">datetime</span></code> instead of a <code class=\"docutils literal notranslate\"><span class=\"pre\">date</span></code>.\nThis occurs because Python’s <code class=\"docutils literal notranslate\"><span class=\"pre\">timedelta</span></code> is converted to SQL\n<code class=\"docutils literal notranslate\"><span class=\"pre\">INTERVAL</span></code>, and the SQL operation <code class=\"docutils literal notranslate\"><span class=\"pre\">date</span> <span class=\"pre\">+/-</span> <span class=\"pre\">interval</span></code> returns a\n<code class=\"docutils literal notranslate\"><span class=\"pre\">timestamp</span></code> on these databases.</p>\n<p>To ensure a <code class=\"docutils literal notranslate\"><span class=\"pre\">date</span></code> result, use one of the following approaches. Either\nexplicitly cast the result to a date:</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\">import</span><span class=\"w\"> </span><span class=\"nn\">datetime</span>\n<span class=\"kn\">from</span><span class=\"w\"> </span><span class=\"nn\">django.db.models</span><span class=\"w\"> </span><span class=\"kn\">import</span> <span class=\"n\">DateField</span><span class=\"p\">,</span> <span class=\"n\">F</span>\n<span class=\"kn\">from</span><span class=\"w\"> </span><span class=\"nn\">django.db.models.functions</span><span class=\"w\"> </span><span class=\"kn\">import</span> <span class=\"n\">Cast</span>\n\n<span class=\"n\">qs</span> <span class=\"o\">=</span> <span class=\"n\">MyModel</span><span class=\"o\">.</span><span class=\"n\">objects</span><span class=\"o\">.</span><span class=\"n\">annotate</span><span class=\"p\">(</span>\n    <span class=\"n\">previous_day</span><span class=\"o\">=</span><span class=\"n\">Cast</span><span class=\"p\">(</span>\n        <span class=\"n\">F</span><span class=\"p\">(</span><span class=\"s2\">&quot;date_field&quot;</span><span class=\"p\">)</span> <span class=\"o\">-</span> <span class=\"n\">datetime</span><span class=\"o\">.</span><span class=\"n\">timedelta</span><span class=\"p\">(</span><span class=\"n\">days</span><span class=\"o\">=</span><span class=\"mi\">1</span><span class=\"p\">),</span>\n        <span class=\"n\">output_field</span><span class=\"o\">=</span><span class=\"n\">DateField</span><span class=\"p\">(),</span>\n    <span class=\"p\">)</span>\n<span class=\"p\">)</span>\n</code></pre></div>\n<p>Or on PostgreSQL only, use integer arithmetic to represent days:</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</span><span class=\"w\"> </span><span class=\"kn\">import</span> <span class=\"n\">DateField</span><span class=\"p\">,</span> <span class=\"n\">ExpressionWrapper</span><span class=\"p\">,</span> <span class=\"n\">F</span>\n\n<span class=\"n\">qs</span> <span class=\"o\">=</span> <span class=\"n\">MyModel</span><span class=\"o\">.</span><span class=\"n\">objects</span><span class=\"o\">.</span><span class=\"n\">annotate</span><span class=\"p\">(</span>\n    <span class=\"n\">previous_day</span><span class=\"o\">=</span><span class=\"n\">ExpressionWrapper</span><span class=\"p\">(</span>\n        <span class=\"n\">F</span><span class=\"p\">(</span><span class=\"s2\">&quot;date_field&quot;</span><span class=\"p\">)</span> <span class=\"o\">-</span> <span class=\"mi\">1</span><span class=\"p\">,</span>  <span class=\"c1\"># Subtract 1 day as integer</span>\n        <span class=\"n\">output_field</span><span class=\"o\">=</span><span class=\"n\">DateField</span><span class=\"p\">(),</span>\n    <span class=\"p\">)</span>\n<span class=\"p\">)</span>\n</code></pre></div>\n</aside>\n</section>\n<section id=\"datetimefield\">\n<h3><code class=\"docutils literal notranslate\"><span class=\"pre\">DatumTimeField</span></code><a class=\"heading-anchor\" href=\"#datetimefield\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<dl class=\"py class\">\n<dt class=\"sig sig-object py\" id=\"django.db.models.DateTimeField\">\n<em class=\"property\"><span class=\"k\"><span class=\"pre\">class</span></span><span class=\"w\"> </span></em><span class=\"sig-name descname\"><span class=\"pre\">DateTimeField</span></span><span class=\"sig-paren\">(</span><em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">auto_now</span></span><span class=\"o\"><span class=\"pre\">=</span></span><span class=\"default_value\"><span class=\"pre\">False</span></span></em>, <em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">auto_now_add</span></span><span class=\"o\"><span class=\"pre\">=</span></span><span class=\"default_value\"><span class=\"pre\">False</span></span></em>, <em class=\"sig-param\"><span class=\"o\"><span class=\"pre\">**</span></span><span class=\"n\"><span class=\"pre\">options</span></span></em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.db.models.DateTimeField\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p>Ett datum och en tid, representerade i Python av en <code class=\"docutils literal notranslate\"><span class=\"pre\">datetime.datetime</span></code>-instans. Tar samma extra argument som <a class=\"reference internal\" href=\"#django.db.models.DateField\" title=\"django.db.models.DateField\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">DateField</span></code></a>.</p>\n<p>Standardformulärwidgeten för detta fält är en enda <a class=\"reference internal\" href=\"/sv/6.1/ref/forms/widgets/#django.forms.DateTimeInput\" title=\"django.forms.DateTimeInput\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">DateTimeInput</span></code></a>. Administratören använder två separata <a class=\"reference internal\" href=\"/sv/6.1/ref/forms/widgets/#django.forms.TextInput\" title=\"django.forms.TextInput\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">TextInput</span></code></a>-widgetar med JavaScript-genvägar.</p>\n<aside class=\"admonition admonition-warning\" role=\"note\">\n<p class=\"admonition-title\">Varning</p>\n<p>Använd alltid <a class=\"reference internal\" href=\"#django.db.models.DateTimeField\" title=\"django.db.models.DateTimeField\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">DateTimeField</span></code></a> med en <code class=\"docutils literal notranslate\"><span class=\"pre\">datetime.datetime</span></code>-instans.</p>\n<p>Om du har en <code class=\"docutils literal notranslate\"><span class=\"pre\">datetime.date</span></code>-instans rekommenderas att du konverterar den till en <code class=\"docutils literal notranslate\"><span class=\"pre\">datetime.datetime</span></code> först. Om du inte gör det kommer <a class=\"reference internal\" href=\"#django.db.models.DateTimeField\" title=\"django.db.models.DateTimeField\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">DateTimeField</span></code></a> att använda midnatt i <a class=\"reference internal\" href=\"/sv/6.1/topics/i18n/timezones/#default-current-time-zone\"><span class=\"std std-ref\">default timezone</span></a> för tidskomponenten. Detta gäller både för lagring och jämförelse. För att jämföra datumdelen av en <a class=\"reference internal\" href=\"#django.db.models.DateTimeField\" title=\"django.db.models.DateTimeField\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">DateTimeField</span></code></a> med en <code class=\"docutils literal notranslate\"><span class=\"pre\">datetime.date</span></code>-instans, använd <a class=\"reference internal\" href=\"/sv/6.1/ref/models/querysets/#std-fieldlookup-date\"><code class=\"xref std std-lookup docutils literal notranslate\"><span class=\"pre\">date</span></code></a> lookup.</p>\n</aside>\n</section>\n<section id=\"decimalfield\">\n<h3><code class=\"docutils literal notranslate\"><span class=\"pre\">DecimalField</span></code><a class=\"heading-anchor\" href=\"#decimalfield\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<dl class=\"py class\">\n<dt class=\"sig sig-object py\" id=\"django.db.models.DecimalField\">\n<em class=\"property\"><span class=\"k\"><span class=\"pre\">class</span></span><span class=\"w\"> </span></em><span class=\"sig-name descname\"><span class=\"pre\">DecimalField</span></span><span class=\"sig-paren\">(</span><em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">max_digits</span></span><span class=\"o\"><span class=\"pre\">=</span></span><span class=\"default_value\"><span class=\"pre\">None</span></span></em>, <em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">decimal_places</span></span><span class=\"o\"><span class=\"pre\">=</span></span><span class=\"default_value\"><span class=\"pre\">None</span></span></em>, <em class=\"sig-param\"><span class=\"o\"><span class=\"pre\">**</span></span><span class=\"n\"><span class=\"pre\">options</span></span></em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.db.models.DecimalField\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p>Ett decimaltal med fast precision, representerat i Python av en <a class=\"reference external\" href=\"https://docs.python.org/3/library/decimal.html#decimal.Decimal\" title=\"(in Python v3.14)\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">Decimal</span></code></a>-instans. Den validerar indata med hjälp av <a class=\"reference internal\" href=\"/sv/6.1/ref/validators/#django.core.validators.DecimalValidator\" title=\"django.core.validators.DecimalValidator\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">DecimalValidator</span></code></a>.</p>\n<p>Has the following arguments:</p>\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.db.models.DecimalField.max_digits\">\n<span class=\"sig-prename descclassname\"><span class=\"pre\">DecimalField.</span></span><span class=\"sig-name descname\"><span class=\"pre\">max_digits</span></span><a class=\"heading-anchor\" href=\"#django.db.models.DecimalField.max_digits\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>The maximum number of digits allowed in the number. Note that this number\nmust be greater than or equal to <code class=\"docutils literal notranslate\"><span class=\"pre\">decimal_places</span></code>. It’s always required\non MySQL because this database doesn’t support numeric fields with no\nprecision. It’s also required for all database backends when\n<a class=\"reference internal\" href=\"#django.db.models.DecimalField.decimal_places\" title=\"django.db.models.DecimalField.decimal_places\"><code class=\"xref py py-attr docutils literal notranslate\"><span class=\"pre\">decimal_places</span></code></a> is provided.</p>\n</dd></dl>\n\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.db.models.DecimalField.decimal_places\">\n<span class=\"sig-prename descclassname\"><span class=\"pre\">DecimalField.</span></span><span class=\"sig-name descname\"><span class=\"pre\">decimal_places</span></span><a class=\"heading-anchor\" href=\"#django.db.models.DecimalField.decimal_places\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>The number of decimal places to store with the number. It’s always required\non MySQL because this database doesn’t support numeric fields with no\nprecision. It’s also required for all database backends when\n<a class=\"reference internal\" href=\"#django.db.models.DecimalField.max_digits\" title=\"django.db.models.DecimalField.max_digits\"><code class=\"xref py py-attr docutils literal notranslate\"><span class=\"pre\">max_digits</span></code></a> is provided.</p>\n</dd></dl>\n\n<p>Om du t.ex. vill lagra siffror upp till 999,99 med en upplösning på 2 decimaler använder du:</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\">models</span><span class=\"o\">.</span><span class=\"n\">DecimalField</span><span class=\"p\">(</span><span class=\"o\">...</span><span class=\"p\">,</span> <span class=\"n\">max_digits</span><span class=\"o\">=</span><span class=\"mi\">5</span><span class=\"p\">,</span> <span class=\"n\">decimal_places</span><span class=\"o\">=</span><span class=\"mi\">2</span><span class=\"p\">)</span>\n</code></pre></div>\n<p>Och för att lagra tal upp till cirka en miljard med en upplösning på 10 decimaler:</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\">models</span><span class=\"o\">.</span><span class=\"n\">DecimalField</span><span class=\"p\">(</span><span class=\"o\">...</span><span class=\"p\">,</span> <span class=\"n\">max_digits</span><span class=\"o\">=</span><span class=\"mi\">19</span><span class=\"p\">,</span> <span class=\"n\">decimal_places</span><span class=\"o\">=</span><span class=\"mi\">10</span><span class=\"p\">)</span>\n</code></pre></div>\n<p>Standardformulärwidgeten för detta fält är en <a class=\"reference internal\" href=\"/sv/6.1/ref/forms/widgets/#django.forms.NumberInput\" title=\"django.forms.NumberInput\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">NumberInput</span></code></a> när <a class=\"reference internal\" href=\"/sv/6.1/ref/forms/fields/#django.forms.Field.localize\" title=\"django.forms.Field.localize\"><code class=\"xref py py-attr docutils literal notranslate\"><span class=\"pre\">localize</span></code></a> är <code class=\"docutils literal notranslate\"><span class=\"pre\">False</span></code> eller annars <a class=\"reference internal\" href=\"/sv/6.1/ref/forms/widgets/#django.forms.TextInput\" title=\"django.forms.TextInput\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">TextInput</span></code></a>.</p>\n<aside class=\"admonition admonition-note\" role=\"note\">\n<p class=\"admonition-title\">Observera</p>\n<p>För mer information om skillnaderna mellan klasserna <a class=\"reference internal\" href=\"#django.db.models.FloatField\" title=\"django.db.models.FloatField\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">FloatField</span></code></a> och <a class=\"reference internal\" href=\"#django.db.models.DecimalField\" title=\"django.db.models.DecimalField\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">DecimalField</span></code></a>, se <a class=\"reference internal\" href=\"#floatfield-vs-decimalfield\"><span class=\"std std-ref\">FloatField vs. DecimalField</span></a>. Du bör också vara medveten om <a class=\"reference internal\" href=\"/sv/6.1/ref/databases/#sqlite-decimal-handling\"><span class=\"std std-ref\">SQLite-begränsningar</span></a> av decimalfält.</p>\n</aside>\n<aside class=\"version-note version-changed\" data-version=\"6.1\">\n<p class=\"version-note-title\">Changed in Django 6.1</p><p>Support for <code class=\"docutils literal notranslate\"><span class=\"pre\">DecimalField</span></code> with no precision was added on Oracle,\nPostgreSQL, and SQLite.</p>\n</aside>\n</section>\n<section id=\"durationfield\">\n<h3><code class=\"docutils literal notranslate\"><span class=\"pre\">DurationField</span></code><a class=\"heading-anchor\" href=\"#durationfield\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<dl class=\"py class\">\n<dt class=\"sig sig-object py\" id=\"django.db.models.DurationField\">\n<em class=\"property\"><span class=\"k\"><span class=\"pre\">class</span></span><span class=\"w\"> </span></em><span class=\"sig-name descname\"><span class=\"pre\">DurationField</span></span><span class=\"sig-paren\">(</span><em class=\"sig-param\"><span class=\"o\"><span class=\"pre\">**</span></span><span class=\"n\"><span class=\"pre\">options</span></span></em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.db.models.DurationField\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p>Ett fält för lagring av tidsperioder - modellerat i Python av <a class=\"reference external\" href=\"https://docs.python.org/3/library/datetime.html#datetime.timedelta\" title=\"(in Python v3.14)\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">timedelta</span></code></a>. När den används på PostgreSQL är datatypen som används ett <code class=\"docutils literal notranslate\"><span class=\"pre\">intervall</span></code> och på Oracle är datatypen <code class=\"docutils literal notranslate\"><span class=\"pre\">INTERVAL</span> <span class=\"pre\">DAY</span> <span class=\"pre\">(9)</span> <span class=\"pre\">TO</span> <span class=\"pre\">SECOND</span> <span class=\"pre\">(6)</span> <span class=\"pre\">``.</span> <span class=\"pre\">Annars</span> <span class=\"pre\">används</span> <span class=\"pre\">en</span> <span class=\"pre\">``bigint</span></code> av mikrosekunder.</p>\n<aside class=\"admonition admonition-note\" role=\"note\">\n<p class=\"admonition-title\">Observera</p>\n<p>Aritmetik med <code class=\"docutils literal notranslate\"><span class=\"pre\">DurationField</span></code> fungerar i de flesta fall. Men på alla andra databaser än PostgreSQL fungerar det inte som förväntat att jämföra värdet på en <code class=\"docutils literal notranslate\"><span class=\"pre\">DurationField</span></code> med aritmetik på <code class=\"docutils literal notranslate\"><span class=\"pre\">DateTimeField</span></code> -instanser.</p>\n</aside>\n</section>\n<section id=\"emailfield\">\n<h3><code class=\"docutils literal notranslate\"><span class=\"pre\">EmailField</span></code><a class=\"heading-anchor\" href=\"#emailfield\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<dl class=\"py class\">\n<dt class=\"sig sig-object py\" id=\"django.db.models.EmailField\">\n<em class=\"property\"><span class=\"k\"><span class=\"pre\">class</span></span><span class=\"w\"> </span></em><span class=\"sig-name descname\"><span class=\"pre\">EmailField</span></span><span class=\"sig-paren\">(</span><em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">max_length</span></span><span class=\"o\"><span class=\"pre\">=</span></span><span class=\"default_value\"><span class=\"pre\">254</span></span></em>, <em class=\"sig-param\"><span class=\"o\"><span class=\"pre\">**</span></span><span class=\"n\"><span class=\"pre\">options</span></span></em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.db.models.EmailField\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p>En <a class=\"reference internal\" href=\"#django.db.models.CharField\" title=\"django.db.models.CharField\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">CharField</span></code></a> som kontrollerar att värdet är en giltig e-postadress med hjälp av <a class=\"reference internal\" href=\"/sv/6.1/ref/validators/#django.core.validators.EmailValidator\" title=\"django.core.validators.EmailValidator\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">EmailValidator</span></code></a>.</p>\n</section>\n<section id=\"filefield\">\n<h3><code class=\"docutils literal notranslate\"><span class=\"pre\">FileField</span></code><a class=\"heading-anchor\" href=\"#filefield\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<dl class=\"py class\">\n<dt class=\"sig sig-object py\" id=\"django.db.models.FileField\">\n<em class=\"property\"><span class=\"k\"><span class=\"pre\">class</span></span><span class=\"w\"> </span></em><span class=\"sig-name descname\"><span class=\"pre\">FileField</span></span><span class=\"sig-paren\">(</span><em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">upload_to</span></span><span class=\"o\"><span class=\"pre\">=</span></span><span class=\"default_value\"><span class=\"pre\">''</span></span></em>, <em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">storage</span></span><span class=\"o\"><span class=\"pre\">=</span></span><span class=\"default_value\"><span class=\"pre\">None</span></span></em>, <em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">max_length</span></span><span class=\"o\"><span class=\"pre\">=</span></span><span class=\"default_value\"><span class=\"pre\">100</span></span></em>, <em class=\"sig-param\"><span class=\"o\"><span class=\"pre\">**</span></span><span class=\"n\"><span class=\"pre\">options</span></span></em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.db.models.FileField\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p>Ett fält för filuppladdning.</p>\n<aside class=\"admonition admonition-note\" role=\"note\">\n<p class=\"admonition-title\">Observera</p>\n<p>Argumentet <code class=\"docutils literal notranslate\"><span class=\"pre\">primary_key</span></code> stöds inte och kommer att ge upphov till ett fel om det används.</p>\n</aside>\n<p>Har följande valfria argument:</p>\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.db.models.FileField.upload_to\">\n<span class=\"sig-prename descclassname\"><span class=\"pre\">FileField.</span></span><span class=\"sig-name descname\"><span class=\"pre\">upload_to</span></span><a class=\"heading-anchor\" href=\"#django.db.models.FileField.upload_to\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Detta attribut ger ett sätt att ställa in uppladdningskatalogen och filnamnet, och kan ställas in på två sätt. I båda fallen skickas värdet till metoden <a class=\"reference internal\" href=\"/sv/6.1/ref/files/storage/#django.core.files.storage.Storage.save\" title=\"django.core.files.storage.Storage.save\"><code class=\"xref py py-meth docutils literal notranslate\"><span class=\"pre\">Storage.save()</span></code></a>.</p>\n<p>Om du anger ett strängvärde eller en <a class=\"reference external\" href=\"https://docs.python.org/3/library/pathlib.html#pathlib.Path\" title=\"(in Python v3.14)\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">Path</span></code></a> kan det innehålla <a class=\"reference external\" href=\"https://docs.python.org/3/library/time.html#time.strftime\" title=\"(in Python v3.14)\"><code class=\"xref py py-func docutils literal notranslate\"><span class=\"pre\">strftime()</span></code></a>-formatering, som ersätts med datumet/tiden för filuppladdningen (så att uppladdade filer inte fyller upp den angivna katalogen). Till exempel:</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\">MyModel</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\"># file will be uploaded to MEDIA_ROOT/uploads</span>\n    <span class=\"n\">upload</span> <span class=\"o\">=</span> <span class=\"n\">models</span><span class=\"o\">.</span><span class=\"n\">FileField</span><span class=\"p\">(</span><span class=\"n\">upload_to</span><span class=\"o\">=</span><span class=\"s2\">&quot;uploads/&quot;</span><span class=\"p\">)</span>\n    <span class=\"c1\"># or...</span>\n    <span class=\"c1\"># file will be saved to MEDIA_ROOT/uploads/2015/01/30</span>\n    <span class=\"n\">upload</span> <span class=\"o\">=</span> <span class=\"n\">models</span><span class=\"o\">.</span><span class=\"n\">FileField</span><span class=\"p\">(</span><span class=\"n\">upload_to</span><span class=\"o\">=</span><span class=\"s2\">&quot;uploads/%Y/%m/</span><span class=\"si\">%d</span><span class=\"s2\">/&quot;</span><span class=\"p\">)</span>\n</code></pre></div>\n<p>Om du använder standard <a class=\"reference internal\" href=\"/sv/6.1/ref/files/storage/#django.core.files.storage.FileSystemStorage\" title=\"django.core.files.storage.FileSystemStorage\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">FileSystemStorage</span></code></a>, kommer strängvärdet att läggas till din <a class=\"reference internal\" href=\"/sv/6.1/ref/settings/#std-setting-MEDIA_ROOT\"><code class=\"xref std std-setting docutils literal notranslate\"><span class=\"pre\">MEDIA_ROOT</span></code></a> sökväg för att bilda platsen på det lokala filsystemet där uppladdade filer kommer att lagras. Om du använder en annan lagring, kontrollera dokumentationen för den lagringen för att se hur den hanterar <code class=\"docutils literal notranslate\"><span class=\"pre\">upload_to</span></code>.</p>\n<p><code class=\"docutils literal notranslate\"><span class=\"pre\">upload_to</span></code> kan också vara en anropbar funktion, t.ex. en funktion. Denna kommer att anropas för att erhålla uppladdningssökvägen, inklusive filnamnet. Denna anropbara funktion måste acceptera två argument och returnera en sökväg i Unix-stil (med snedstreck) som ska skickas vidare till lagringssystemet. De två argumenten är:</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>Beskrivning</p></th>\n</tr>\n</thead>\n<tbody>\n<tr class=\"row-even\"><td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">instans</span></code></p></td>\n<td><p>En instans av modellen där <code class=\"docutils literal notranslate\"><span class=\"pre\">FileField</span></code> är definierad. Mer specifikt är detta den särskilda instans där den aktuella filen bifogas.</p>\n<p>I de flesta fall har det här objektet inte sparats i databasen ännu, så om det använder standardinställningen <code class=\"docutils literal notranslate\"><span class=\"pre\">AutoField</span></code> kanske <em>det ännu inte har något värde för sitt primärnyckelfält</em>.</p>\n</td>\n</tr>\n<tr class=\"row-odd\"><td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">filnamn</span></code></p></td>\n<td><p>Det filnamn som ursprungligen gavs till filen. Detta kan eller kan inte tas med i beräkningen när den slutliga destinationssökvägen bestäms.</p></td>\n</tr>\n</tbody>\n</table>\n</div>\n<p>Till exempel:</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\">def</span><span class=\"w\"> </span><span class=\"nf\">user_directory_path</span><span class=\"p\">(</span><span class=\"n\">instance</span><span class=\"p\">,</span> <span class=\"n\">filename</span><span class=\"p\">):</span>\n    <span class=\"c1\"># file will be uploaded to MEDIA_ROOT/user_&lt;id&gt;/&lt;filename&gt;</span>\n    <span class=\"k\">return</span> <span class=\"s2\">&quot;user_</span><span class=\"si\">{0}</span><span class=\"s2\">/</span><span class=\"si\">{1}</span><span class=\"s2\">&quot;</span><span class=\"o\">.</span><span class=\"n\">format</span><span class=\"p\">(</span><span class=\"n\">instance</span><span class=\"o\">.</span><span class=\"n\">user</span><span class=\"o\">.</span><span class=\"n\">id</span><span class=\"p\">,</span> <span class=\"n\">filename</span><span class=\"p\">)</span>\n\n\n<span class=\"k\">class</span><span class=\"w\"> </span><span class=\"nc\">MyModel</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=\"n\">upload</span> <span class=\"o\">=</span> <span class=\"n\">models</span><span class=\"o\">.</span><span class=\"n\">FileField</span><span class=\"p\">(</span><span class=\"n\">upload_to</span><span class=\"o\">=</span><span class=\"n\">user_directory_path</span><span class=\"p\">)</span>\n</code></pre></div>\n</dd></dl>\n\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.db.models.FileField.storage\">\n<span class=\"sig-prename descclassname\"><span class=\"pre\">FileField.</span></span><span class=\"sig-name descname\"><span class=\"pre\">storage</span></span><a class=\"heading-anchor\" href=\"#django.db.models.FileField.storage\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Ett lagringsobjekt eller en anropsbar funktion som returnerar ett lagringsobjekt. Detta hanterar lagring och hämtning av dina filer. Se <a class=\"reference internal\" href=\"/sv/6.1/topics/files/\"><span class=\"doc\">Hantera filer</span></a> för mer information om hur du tillhandahåller detta objekt.</p>\n</dd></dl>\n\n<p>Standardformulärwidgeten för detta fält är en <a class=\"reference internal\" href=\"/sv/6.1/ref/forms/widgets/#django.forms.ClearableFileInput\" title=\"django.forms.ClearableFileInput\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">ClearableFileInput</span></code></a>.</p>\n<p>Att använda en <a class=\"reference internal\" href=\"#django.db.models.FileField\" title=\"django.db.models.FileField\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">FileField</span></code></a> eller en <a class=\"reference internal\" href=\"#django.db.models.ImageField\" title=\"django.db.models.ImageField\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">ImageField</span></code></a> (se nedan) i en modell kräver några steg:</p>\n<ol class=\"arabic simple\">\n<li><p>I din inställningsfil måste du definiera <a class=\"reference internal\" href=\"/sv/6.1/ref/settings/#std-setting-MEDIA_ROOT\"><code class=\"xref std std-setting docutils literal notranslate\"><span class=\"pre\">MEDIA_ROOT</span></code></a> som den fullständiga sökvägen till en katalog där du vill att Django ska lagra uppladdade filer. (Av prestandaskäl lagras inte dessa filer i databasen.) Definiera <a class=\"reference internal\" href=\"/sv/6.1/ref/settings/#std-setting-MEDIA_URL\"><code class=\"xref std std-setting docutils literal notranslate\"><span class=\"pre\">MEDIA_URL</span></code></a> som den publika URL:en för den katalogen. Se till att den här katalogen är skrivbar av webbserverns användarkonto.</p></li>\n<li><p>Lägg till <a class=\"reference internal\" href=\"#django.db.models.FileField\" title=\"django.db.models.FileField\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">FileField</span></code></a> eller <a class=\"reference internal\" href=\"#django.db.models.ImageField\" title=\"django.db.models.ImageField\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">ImageField</span></code></a> i din modell och definiera alternativet <a class=\"reference internal\" href=\"#django.db.models.FileField.upload_to\" title=\"django.db.models.FileField.upload_to\"><code class=\"xref py py-attr docutils literal notranslate\"><span class=\"pre\">upload_to</span></code></a> för att ange en underkatalog i <a class=\"reference internal\" href=\"/sv/6.1/ref/settings/#std-setting-MEDIA_ROOT\"><code class=\"xref std std-setting docutils literal notranslate\"><span class=\"pre\">MEDIA_ROOT</span></code></a> som ska användas för uppladdade filer.</p></li>\n<li><p>Allt som kommer att lagras i din databas är en sökväg till filen (i förhållande till <a class=\"reference internal\" href=\"/sv/6.1/ref/settings/#std-setting-MEDIA_ROOT\"><code class=\"xref std std-setting docutils literal notranslate\"><span class=\"pre\">MEDIA_ROOT</span></code></a>). Du kommer troligen att vilja använda det praktiska attributet <a class=\"reference internal\" href=\"#django.db.models.fields.files.FieldFile.url\" title=\"django.db.models.fields.files.FieldFile.url\"><code class=\"xref py py-attr docutils literal notranslate\"><span class=\"pre\">url</span></code></a> som tillhandahålls av Django. Om din <a class=\"reference internal\" href=\"#django.db.models.ImageField\" title=\"django.db.models.ImageField\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">ImageField</span></code></a> till exempel heter <code class=\"docutils literal notranslate\"><span class=\"pre\">mug_shot</span></code> kan du få den absoluta sökvägen till din bild i en mall med <code class=\"docutils literal notranslate\"><span class=\"pre\">{{</span> <span class=\"pre\">object.mug_shot.url</span> <span class=\"pre\">}}</span></code>.</p></li>\n</ol>\n<p>Anta till exempel att din <a class=\"reference internal\" href=\"/sv/6.1/ref/settings/#std-setting-MEDIA_ROOT\"><code class=\"xref std std-setting docutils literal notranslate\"><span class=\"pre\">MEDIA_ROOT</span></code></a> är inställd på <code class=\"docutils literal notranslate\"><span class=\"pre\">'/home/media'</span></code> och <a class=\"reference internal\" href=\"#django.db.models.FileField.upload_to\" title=\"django.db.models.FileField.upload_to\"><code class=\"xref py py-attr docutils literal notranslate\"><span class=\"pre\">upload_to</span></code></a> är inställd på <code class=\"docutils literal notranslate\"><span class=\"pre\">'photos/%Y/%m/%d'</span></code>. Delen <code class=\"docutils literal notranslate\"><span class=\"pre\">'%Y/%m/%d'</span></code> i <a class=\"reference internal\" href=\"#django.db.models.FileField.upload_to\" title=\"django.db.models.FileField.upload_to\"><code class=\"xref py py-attr docutils literal notranslate\"><span class=\"pre\">upload_to</span></code></a> är <a class=\"reference external\" href=\"https://docs.python.org/3/library/time.html#time.strftime\" title=\"(in Python v3.14)\"><code class=\"xref py py-func docutils literal notranslate\"><span class=\"pre\">strftime()</span></code></a>-formatering; <code class=\"docutils literal notranslate\"><span class=\"pre\">'%Y'</span></code> är det fyrsiffriga året, <code class=\"docutils literal notranslate\"><span class=\"pre\">'%m'</span></code> är den tvåsiffriga månaden och <code class=\"docutils literal notranslate\"><span class=\"pre\">'%d'</span></code> är den tvåsiffriga dagen. Om du laddar upp en fil den 15 januari 2007 kommer den att sparas i katalogen <code class=\"docutils literal notranslate\"><span class=\"pre\">/home/media/photos/2007/01/15</span></code>.</p>\n<p>Om du vill hämta den uppladdade filens filnamn på disken eller filens storlek kan du använda attributen <a class=\"reference internal\" href=\"/sv/6.1/ref/files/file/#django.core.files.File.name\" title=\"django.core.files.File.name\"><code class=\"xref py py-attr docutils literal notranslate\"><span class=\"pre\">name</span></code></a> respektive <a class=\"reference internal\" href=\"/sv/6.1/ref/files/file/#django.core.files.File.size\" title=\"django.core.files.File.size\"><code class=\"xref py py-attr docutils literal notranslate\"><span class=\"pre\">size</span></code></a>; för mer information om tillgängliga attribut och metoder, se klassreferensen <a class=\"reference internal\" href=\"/sv/6.1/ref/files/file/#django.core.files.File\" title=\"django.core.files.File\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">File</span></code></a> och ämnesguiden <a class=\"reference internal\" href=\"/sv/6.1/topics/files/\"><span class=\"doc\">Hantera filer</span></a>.</p>\n<aside class=\"admonition admonition-note\" role=\"note\">\n<p class=\"admonition-title\">Observera</p>\n<p>Filen sparas som en del av att modellen sparas i databasen, så det faktiska filnamnet som används på disken kan man inte lita på förrän efter att modellen har sparats.</p>\n</aside>\n<p>Den uppladdade filens relativa URL kan erhållas med hjälp av attributet <a class=\"reference internal\" href=\"#django.db.models.fields.files.FieldFile.url\" title=\"django.db.models.fields.files.FieldFile.url\"><code class=\"xref py py-attr docutils literal notranslate\"><span class=\"pre\">url</span></code></a>. Internt anropar detta <a class=\"reference internal\" href=\"/sv/6.1/ref/files/storage/#django.core.files.storage.Storage.url\" title=\"django.core.files.storage.Storage.url\"><code class=\"xref py py-meth docutils literal notranslate\"><span class=\"pre\">url()</span></code></a>-metoden för den underliggande <a class=\"reference internal\" href=\"/sv/6.1/ref/files/storage/#django.core.files.storage.Storage\" title=\"django.core.files.storage.Storage\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">Storage</span></code></a>-klassen.</p>\n<p id=\"file-upload-security\">Observera att när du hanterar uppladdade filer bör du vara mycket uppmärksam på var du laddar upp dem och vilken typ av filer de är, för att undvika säkerhetshål. <em>Validera alla uppladdade filer</em> så att du är säker på att filerna är vad du tror att de är. Om du till exempel blint låter någon ladda upp filer, utan validering, till en katalog som ligger i din webbservers dokumentrot, kan någon ladda upp ett CGI- eller PHP-skript och köra det skriptet genom att besöka dess URL på din webbplats. Tillåt inte det.</p>\n<p>Observera också att även en uppladdad HTML-fil, eftersom den kan köras av webbläsaren (men inte av servern), kan utgöra säkerhetshot som motsvarar XSS- eller CSRF-attacker.</p>\n<p><a class=\"reference internal\" href=\"#django.db.models.FileField\" title=\"django.db.models.FileField\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">FileField</span></code></a>-instanser skapas i din databas som <code class=\"docutils literal notranslate\"><span class=\"pre\">varchar</span></code>-kolumner med en maximal standardlängd på 100 tecken. Precis som för andra fält kan du ändra den maximala längden med argumentet <a class=\"reference internal\" href=\"#django.db.models.CharField.max_length\" title=\"django.db.models.CharField.max_length\"><code class=\"xref py py-attr docutils literal notranslate\"><span class=\"pre\">max_length</span></code></a>.</p>\n<section id=\"filefield-and-fieldfile\">\n<h4><code class=\"docutils literal notranslate\"><span class=\"pre\">FileField</span></code> och <code class=\"docutils literal notranslate\"><span class=\"pre\">FieldFile</span></code><a class=\"heading-anchor\" href=\"#filefield-and-fieldfile\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h4>\n<dl class=\"py class\">\n<dt class=\"sig sig-object py\" id=\"django.db.models.fields.files.FieldFile\">\n<em class=\"property\"><span class=\"k\"><span class=\"pre\">class</span></span><span class=\"w\"> </span></em><span class=\"sig-name descname\"><span class=\"pre\">FieldFile</span></span><a class=\"heading-anchor\" href=\"#django.db.models.fields.files.FieldFile\"><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 öppnar en <a class=\"reference internal\" href=\"#django.db.models.FileField\" title=\"django.db.models.FileField\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">FileField</span></code></a> på en modell får du en instans av <a class=\"reference internal\" href=\"#django.db.models.fields.files.FieldFile\" title=\"django.db.models.fields.files.FieldFile\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">FieldFile</span></code></a> som en proxy för åtkomst till den underliggande filen.</p>\n<p>API:et för <a class=\"reference internal\" href=\"#django.db.models.fields.files.FieldFile\" title=\"django.db.models.fields.files.FieldFile\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">FieldFile</span></code></a> speglar det för <a class=\"reference internal\" href=\"/sv/6.1/ref/files/file/#django.core.files.File\" title=\"django.core.files.File\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">File</span></code></a>, med en viktig skillnad: <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">*</span></a>Objektet som klassen omsluter är inte nödvändigtvis en omslutning kring Pythons inbyggda filobjekt * Istället är det en omslutning kring resultatet av <a class=\"reference internal\" href=\"/sv/6.1/ref/files/storage/#django.core.files.storage.Storage.open\" title=\"django.core.files.storage.Storage.open\"><code class=\"xref py py-attr docutils literal notranslate\"><span class=\"pre\">Storage.open()</span></code></a>-metoden, som kan vara ett <a class=\"reference internal\" href=\"/sv/6.1/ref/files/file/#django.core.files.File\" title=\"django.core.files.File\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">File</span></code></a>-objekt, eller det kan vara en anpassad lagrings implementering av <a class=\"reference internal\" href=\"/sv/6.1/ref/files/file/#django.core.files.File\" title=\"django.core.files.File\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">File</span></code></a> API.</p>\n<p>Utöver API:et som ärvs från <a class=\"reference internal\" href=\"/sv/6.1/ref/files/file/#django.core.files.File\" title=\"django.core.files.File\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">File</span></code></a>, såsom <code class=\"docutils literal notranslate\"><span class=\"pre\">read()</span></code> och <code class=\"docutils literal notranslate\"><span class=\"pre\">write()</span></code>, innehåller <a class=\"reference internal\" href=\"#django.db.models.fields.files.FieldFile\" title=\"django.db.models.fields.files.FieldFile\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">FieldFile</span></code></a> flera metoder som kan användas för att interagera med den underliggande filen:</p>\n<aside class=\"admonition admonition-warning\" role=\"note\">\n<p class=\"admonition-title\">Varning</p>\n<p>Två metoder i den här klassen, <a class=\"reference internal\" href=\"#django.db.models.fields.files.FieldFile.save\" title=\"django.db.models.fields.files.FieldFile.save\"><code class=\"xref py py-meth docutils literal notranslate\"><span class=\"pre\">save()</span></code></a> och <a class=\"reference internal\" href=\"#django.db.models.fields.files.FieldFile.delete\" title=\"django.db.models.fields.files.FieldFile.delete\"><code class=\"xref py py-meth docutils literal notranslate\"><span class=\"pre\">delete()</span></code></a>, sparar som standard modellobjektet för den associerade <code class=\"docutils literal notranslate\"><span class=\"pre\">FieldFile</span></code> i databasen.</p>\n</aside>\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.db.models.fields.files.FieldFile.name\">\n<span class=\"sig-prename descclassname\"><span class=\"pre\">FieldFile.</span></span><span class=\"sig-name descname\"><span class=\"pre\">name</span></span><a class=\"heading-anchor\" href=\"#django.db.models.fields.files.FieldFile.name\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p>Namnet på filen inklusive den relativa sökvägen från roten till <a class=\"reference internal\" href=\"/sv/6.1/ref/files/storage/#django.core.files.storage.Storage\" title=\"django.core.files.storage.Storage\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">Storage</span></code></a> för den associerade <a class=\"reference internal\" href=\"#django.db.models.FileField\" title=\"django.db.models.FileField\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">FileField</span></code></a>.</p>\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.db.models.fields.files.FieldFile.path\">\n<span class=\"sig-prename descclassname\"><span class=\"pre\">FieldFile.</span></span><span class=\"sig-name descname\"><span class=\"pre\">path</span></span><a class=\"heading-anchor\" href=\"#django.db.models.fields.files.FieldFile.path\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p>En skrivskyddad egenskap för att komma åt filens lokala filsystemssökväg genom att anropa <a class=\"reference internal\" href=\"/sv/6.1/ref/files/storage/#django.core.files.storage.Storage.path\" title=\"django.core.files.storage.Storage.path\"><code class=\"xref py py-meth docutils literal notranslate\"><span class=\"pre\">path()</span></code></a>-metoden i den underliggande <a class=\"reference internal\" href=\"/sv/6.1/ref/files/storage/#django.core.files.storage.Storage\" title=\"django.core.files.storage.Storage\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">Storage</span></code></a>-klassen.</p>\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.db.models.fields.files.FieldFile.size\">\n<span class=\"sig-prename descclassname\"><span class=\"pre\">FieldFile.</span></span><span class=\"sig-name descname\"><span class=\"pre\">size</span></span><a class=\"heading-anchor\" href=\"#django.db.models.fields.files.FieldFile.size\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p>Resultatet av den underliggande <a class=\"reference internal\" href=\"/sv/6.1/ref/files/storage/#django.core.files.storage.Storage.size\" title=\"django.core.files.storage.Storage.size\"><code class=\"xref py py-attr docutils literal notranslate\"><span class=\"pre\">Storage.size()</span></code></a>-metoden.</p>\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.db.models.fields.files.FieldFile.url\">\n<span class=\"sig-prename descclassname\"><span class=\"pre\">FieldFile.</span></span><span class=\"sig-name descname\"><span class=\"pre\">url</span></span><a class=\"heading-anchor\" href=\"#django.db.models.fields.files.FieldFile.url\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p>En skrivskyddad egenskap för att komma åt filens relativa URL genom att anropa <a class=\"reference internal\" href=\"/sv/6.1/ref/files/storage/#django.core.files.storage.Storage.url\" title=\"django.core.files.storage.Storage.url\"><code class=\"xref py py-meth docutils literal notranslate\"><span class=\"pre\">url()</span></code></a>-metoden i den underliggande <a class=\"reference internal\" href=\"/sv/6.1/ref/files/storage/#django.core.files.storage.Storage\" title=\"django.core.files.storage.Storage\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">Storage</span></code></a>-klassen.</p>\n<dl class=\"py method\">\n<dt class=\"sig sig-object py\" id=\"django.db.models.fields.files.FieldFile.open\">\n<span class=\"sig-prename descclassname\"><span class=\"pre\">FieldFile.</span></span><span class=\"sig-name descname\"><span class=\"pre\">open</span></span><span class=\"sig-paren\">(</span><em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">mode</span></span><span class=\"o\"><span class=\"pre\">=</span></span><span class=\"default_value\"><span class=\"pre\">'rb'</span></span></em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.db.models.fields.files.FieldFile.open\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p>Öppnar eller återöppnar filen som är associerad med denna instans i angivet <code class=\"docutils literal notranslate\"><span class=\"pre\">mode</span></code>. Till skillnad från Pythons standardmetod <code class=\"docutils literal notranslate\"><span class=\"pre\">open()</span></code> returnerar den inte en filbeskrivare.</p>\n<p>Eftersom den underliggande filen öppnas implicit vid åtkomst till den, kan det vara onödigt att anropa denna metod förutom för att återställa pekaren till den underliggande filen eller för att ändra <code class=\"docutils literal notranslate\"><span class=\"pre\">mode</span></code>.</p>\n<dl class=\"py method\">\n<dt class=\"sig sig-object py\" id=\"django.db.models.fields.files.FieldFile.close\">\n<span class=\"sig-prename descclassname\"><span class=\"pre\">FieldFile.</span></span><span class=\"sig-name descname\"><span class=\"pre\">close</span></span><span class=\"sig-paren\">(</span><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.db.models.fields.files.FieldFile.close\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p>Uppträder som Pythons standardmetod <code class=\"docutils literal notranslate\"><span class=\"pre\">file.close()</span></code> och stänger den fil som är kopplad till denna instans.</p>\n<dl class=\"py method\">\n<dt class=\"sig sig-object py\" id=\"django.db.models.fields.files.FieldFile.save\">\n<span class=\"sig-prename descclassname\"><span class=\"pre\">FieldFile.</span></span><span class=\"sig-name descname\"><span class=\"pre\">save</span></span><span class=\"sig-paren\">(</span><em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">name</span></span></em>, <em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">content</span></span></em>, <em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">save</span></span><span class=\"o\"><span class=\"pre\">=</span></span><span class=\"default_value\"><span class=\"pre\">True</span></span></em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.db.models.fields.files.FieldFile.save\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p>Den här metoden tar ett filnamn och filinnehåll och skickar dem till lagringsklassen för fältet och associerar sedan den lagrade filen med modellfältet. Om du manuellt vill associera fildata med <a class=\"reference internal\" href=\"#django.db.models.FileField\" title=\"django.db.models.FileField\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">FileField</span></code></a>-instanser i din modell, används metoden <code class=\"docutils literal notranslate\"><span class=\"pre\">save()</span></code> för att bevara fildata.</p>\n<p>Takes two required arguments: <code class=\"docutils literal notranslate\"><span class=\"pre\">name</span></code> which is the name of the file, and\n<code class=\"docutils literal notranslate\"><span class=\"pre\">content</span></code> which is an object containing the file’s contents. The\noptional <code class=\"docutils literal notranslate\"><span class=\"pre\">save</span></code> argument controls whether or not the model instance is\nsaved after the file associated with this field has been altered. Defaults to\n<code class=\"docutils literal notranslate\"><span class=\"pre\">True</span></code>.</p>\n<p>Observera att argumentet <code class=\"docutils literal notranslate\"><span class=\"pre\">content</span></code> ska vara en instans av <a class=\"reference internal\" href=\"/sv/6.1/ref/files/file/#django.core.files.File\" title=\"django.core.files.File\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">django.core.files.File</span></code></a>, inte Pythons inbyggda filobjekt. Du kan konstruera en <a class=\"reference internal\" href=\"/sv/6.1/ref/files/file/#django.core.files.File\" title=\"django.core.files.File\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">File</span></code></a> från ett befintligt Python-filobjekt 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.core.files</span><span class=\"w\"> </span><span class=\"kn\">import</span> <span class=\"n\">File</span>\n\n<span class=\"c1\"># Open an existing file using Python&#39;s built-in open()</span>\n<span class=\"n\">f</span> <span class=\"o\">=</span> <span class=\"nb\">open</span><span class=\"p\">(</span><span class=\"s2\">&quot;/path/to/hello.world&quot;</span><span class=\"p\">)</span>\n<span class=\"n\">myfile</span> <span class=\"o\">=</span> <span class=\"n\">File</span><span class=\"p\">(</span><span class=\"n\">f</span><span class=\"p\">)</span>\n</code></pre></div>\n<p>Eller så kan du konstruera en från en Python-sträng 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.core.files.base</span><span class=\"w\"> </span><span class=\"kn\">import</span> <span class=\"n\">ContentFile</span>\n\n<span class=\"n\">myfile</span> <span class=\"o\">=</span> <span class=\"n\">ContentFile</span><span class=\"p\">(</span><span class=\"s2\">&quot;hello world&quot;</span><span class=\"p\">)</span>\n</code></pre></div>\n<p>För mer information, se <a class=\"reference internal\" href=\"/sv/6.1/topics/files/\"><span class=\"doc\">Hantera filer</span></a>.</p>\n<dl class=\"py method\">\n<dt class=\"sig sig-object py\" id=\"django.db.models.fields.files.FieldFile.delete\">\n<span class=\"sig-prename descclassname\"><span class=\"pre\">FieldFile.</span></span><span class=\"sig-name descname\"><span class=\"pre\">delete</span></span><span class=\"sig-paren\">(</span><em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">save</span></span><span class=\"o\"><span class=\"pre\">=</span></span><span class=\"default_value\"><span class=\"pre\">True</span></span></em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.db.models.fields.files.FieldFile.delete\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p>Raderar filen som är kopplad till denna instans och rensar alla attribut på fältet. Observera: Den här metoden stänger filen om den råkar vara öppen när <code class=\"docutils literal notranslate\"><span class=\"pre\">delete()</span></code> anropas.</p>\n<p>Det valfria argumentet <code class=\"docutils literal notranslate\"><span class=\"pre\">save</span></code> styr om modellinstansen sparas eller inte efter att filen som är associerad med detta fält har tagits bort. Standardvärdet är <code class=\"docutils literal notranslate\"><span class=\"pre\">True</span></code>.</p>\n<p>Observera att när en modell tas bort tas inte relaterade filer bort. Om du behöver rensa bort föräldralösa filer måste du hantera det själv (t.ex. med ett anpassat hanteringskommando som kan köras manuellt eller schemaläggas för att köras regelbundet via t.ex. cron).</p>\n</section>\n</section>\n<section id=\"filepathfield\">\n<h3><code class=\"docutils literal notranslate\"><span class=\"pre\">FilePathField</span></code><a class=\"heading-anchor\" href=\"#filepathfield\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<dl class=\"py class\">\n<dt class=\"sig sig-object py\" id=\"django.db.models.FilePathField\">\n<em class=\"property\"><span class=\"k\"><span class=\"pre\">class</span></span><span class=\"w\"> </span></em><span class=\"sig-name descname\"><span class=\"pre\">FilePathField</span></span><span class=\"sig-paren\">(</span><em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">path</span></span><span class=\"o\"><span class=\"pre\">=</span></span><span class=\"default_value\"><span class=\"pre\">''</span></span></em>, <em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">match</span></span><span class=\"o\"><span class=\"pre\">=</span></span><span class=\"default_value\"><span class=\"pre\">None</span></span></em>, <em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">recursive</span></span><span class=\"o\"><span class=\"pre\">=</span></span><span class=\"default_value\"><span class=\"pre\">False</span></span></em>, <em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">allow_files</span></span><span class=\"o\"><span class=\"pre\">=</span></span><span class=\"default_value\"><span class=\"pre\">True</span></span></em>, <em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">allow_folders</span></span><span class=\"o\"><span class=\"pre\">=</span></span><span class=\"default_value\"><span class=\"pre\">False</span></span></em>, <em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">max_length</span></span><span class=\"o\"><span class=\"pre\">=</span></span><span class=\"default_value\"><span class=\"pre\">100</span></span></em>, <em class=\"sig-param\"><span class=\"o\"><span class=\"pre\">**</span></span><span class=\"n\"><span class=\"pre\">options</span></span></em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.db.models.FilePathField\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p>En <a class=\"reference internal\" href=\"#django.db.models.CharField\" title=\"django.db.models.CharField\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">CharField</span></code></a> vars valmöjligheter är begränsade till filnamnen i en viss katalog på filsystemet. Har några specialargument, varav det första är <strong>obligatoriskt</strong>:</p>\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.db.models.FilePathField.path\">\n<span class=\"sig-prename descclassname\"><span class=\"pre\">FilePathField.</span></span><span class=\"sig-name descname\"><span class=\"pre\">path</span></span><a class=\"heading-anchor\" href=\"#django.db.models.FilePathField.path\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Obligatorisk. Den absoluta filsystemssökvägen till en katalog från vilken denna <a class=\"reference internal\" href=\"#django.db.models.FilePathField\" title=\"django.db.models.FilePathField\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">FilePathField</span></code></a> ska hämta sina val. Exempel: <code class=\"docutils literal notranslate\"><span class=\"pre\">&quot;/home/images&quot;</span></code>.</p>\n<p><code class=\"docutils literal notranslate\"><span class=\"pre\">path</span></code> kan också vara en anropsbar funktion, t.ex. en funktion för att dynamiskt ställa in sökvägen vid körning. Exempel:</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\">import</span><span class=\"w\"> </span><span class=\"nn\">os</span>\n<span class=\"kn\">from</span><span class=\"w\"> </span><span class=\"nn\">django.conf</span><span class=\"w\"> </span><span class=\"kn\">import</span> <span class=\"n\">settings</span>\n<span class=\"kn\">from</span><span class=\"w\"> </span><span class=\"nn\">django.db</span><span class=\"w\"> </span><span class=\"kn\">import</span> <span class=\"n\">models</span>\n\n\n<span class=\"k\">def</span><span class=\"w\"> </span><span class=\"nf\">images_path</span><span class=\"p\">():</span>\n    <span class=\"k\">return</span> <span class=\"n\">os</span><span class=\"o\">.</span><span class=\"n\">path</span><span class=\"o\">.</span><span class=\"n\">join</span><span class=\"p\">(</span><span class=\"n\">settings</span><span class=\"o\">.</span><span class=\"n\">LOCAL_FILE_DIR</span><span class=\"p\">,</span> <span class=\"s2\">&quot;images&quot;</span><span class=\"p\">)</span>\n\n\n<span class=\"k\">class</span><span class=\"w\"> </span><span class=\"nc\">MyModel</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=\"n\">file</span> <span class=\"o\">=</span> <span class=\"n\">models</span><span class=\"o\">.</span><span class=\"n\">FilePathField</span><span class=\"p\">(</span><span class=\"n\">path</span><span class=\"o\">=</span><span class=\"n\">images_path</span><span class=\"p\">)</span>\n</code></pre></div>\n</dd></dl>\n\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.db.models.FilePathField.match\">\n<span class=\"sig-prename descclassname\"><span class=\"pre\">FilePathField.</span></span><span class=\"sig-name descname\"><span class=\"pre\">match</span></span><a class=\"heading-anchor\" href=\"#django.db.models.FilePathField.match\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Valfritt. Ett reguljärt uttryck, som en sträng, som <a class=\"reference internal\" href=\"#django.db.models.FilePathField\" title=\"django.db.models.FilePathField\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">FilePathField</span></code></a> kommer att använda för att filtrera filnamn. Observera att regex kommer att tillämpas på basfilnamnet, inte på hela sökvägen. Exempel: <code class=\"docutils literal notranslate\"><span class=\"pre\">&quot;foo.*\\.txt$&quot;</span></code>, vilket matchar en fil som heter <code class=\"docutils literal notranslate\"><span class=\"pre\">foo23.txt</span></code> men inte <code class=\"docutils literal notranslate\"><span class=\"pre\">bar.txt</span></code> eller <code class=\"docutils literal notranslate\"><span class=\"pre\">foo23.png</span></code>.</p>\n</dd></dl>\n\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.db.models.FilePathField.recursive\">\n<span class=\"sig-prename descclassname\"><span class=\"pre\">FilePathField.</span></span><span class=\"sig-name descname\"><span class=\"pre\">recursive</span></span><a class=\"heading-anchor\" href=\"#django.db.models.FilePathField.recursive\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Valfritt. Antingen <code class=\"docutils literal notranslate\"><span class=\"pre\">True</span></code> eller <code class=\"docutils literal notranslate\"><span class=\"pre\">False</span></code>. Standard är <code class=\"docutils literal notranslate\"><span class=\"pre\">False</span></code>. Anger om alla underkataloger till <a class=\"reference internal\" href=\"#django.db.models.FilePathField.path\" title=\"django.db.models.FilePathField.path\"><code class=\"xref py py-attr docutils literal notranslate\"><span class=\"pre\">path</span></code></a> ska inkluderas</p>\n</dd></dl>\n\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.db.models.FilePathField.allow_files\">\n<span class=\"sig-prename descclassname\"><span class=\"pre\">FilePathField.</span></span><span class=\"sig-name descname\"><span class=\"pre\">allow_files</span></span><a class=\"heading-anchor\" href=\"#django.db.models.FilePathField.allow_files\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Optional. Either <code class=\"docutils literal notranslate\"><span class=\"pre\">True</span></code> or <code class=\"docutils literal notranslate\"><span class=\"pre\">False</span></code>. Default is <code class=\"docutils literal notranslate\"><span class=\"pre\">True</span></code>. Specifies\nwhether files in the specified location should be included. Either this or\n<a class=\"reference internal\" href=\"#django.db.models.FilePathField.allow_folders\" title=\"django.db.models.FilePathField.allow_folders\"><code class=\"xref py py-attr docutils literal notranslate\"><span class=\"pre\">allow_folders</span></code></a> must be <code class=\"docutils literal notranslate\"><span class=\"pre\">True</span></code>.</p>\n</dd></dl>\n\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.db.models.FilePathField.allow_folders\">\n<span class=\"sig-prename descclassname\"><span class=\"pre\">FilePathField.</span></span><span class=\"sig-name descname\"><span class=\"pre\">allow_folders</span></span><a class=\"heading-anchor\" href=\"#django.db.models.FilePathField.allow_folders\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Optional. Either <code class=\"docutils literal notranslate\"><span class=\"pre\">True</span></code> or <code class=\"docutils literal notranslate\"><span class=\"pre\">False</span></code>. Default is <code class=\"docutils literal notranslate\"><span class=\"pre\">False</span></code>. Specifies\nwhether folders in the specified location should be included. Either this\nor <a class=\"reference internal\" href=\"#django.db.models.FilePathField.allow_files\" title=\"django.db.models.FilePathField.allow_files\"><code class=\"xref py py-attr docutils literal notranslate\"><span class=\"pre\">allow_files</span></code></a> must be <code class=\"docutils literal notranslate\"><span class=\"pre\">True</span></code>.</p>\n</dd></dl>\n\n<p>Det enda potentiella problemet är att <a class=\"reference internal\" href=\"#django.db.models.FilePathField.match\" title=\"django.db.models.FilePathField.match\"><code class=\"xref py py-attr docutils literal notranslate\"><span class=\"pre\">match</span></code></a> gäller för det grundläggande filnamnet, inte den fullständiga sökvägen. Så i det här exemplet:</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\">FilePathField</span><span class=\"p\">(</span><span class=\"n\">path</span><span class=\"o\">=</span><span class=\"s2\">&quot;/home/images&quot;</span><span class=\"p\">,</span> <span class=\"n\">match</span><span class=\"o\">=</span><span class=\"s2\">&quot;foo.*&quot;</span><span class=\"p\">,</span> <span class=\"n\">recursive</span><span class=\"o\">=</span><span class=\"kc\">True</span><span class=\"p\">)</span>\n</code></pre></div>\n<p>…kommer att matcha <code class=\"docutils literal notranslate\"><span class=\"pre\">/home/images/foo.png</span></code> men inte <code class=\"docutils literal notranslate\"><span class=\"pre\">/home/images/foo/bar.png</span></code> eftersom <a class=\"reference internal\" href=\"#django.db.models.FilePathField.match\" title=\"django.db.models.FilePathField.match\"><code class=\"xref py py-attr docutils literal notranslate\"><span class=\"pre\">match</span></code></a> gäller för basfilnamnet (<code class=\"docutils literal notranslate\"><span class=\"pre\">foo.png</span></code> och <code class=\"docutils literal notranslate\"><span class=\"pre\">bar.png</span></code>).</p>\n<p><a class=\"reference internal\" href=\"#django.db.models.FilePathField\" title=\"django.db.models.FilePathField\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">FilePathField</span></code></a>-instanser skapas i din databas som <code class=\"docutils literal notranslate\"><span class=\"pre\">varchar</span></code>-kolumner med en maximal standardlängd på 100 tecken. Precis som för andra fält kan du ändra den maximala längden med hjälp av argumentet <a class=\"reference internal\" href=\"#django.db.models.CharField.max_length\" title=\"django.db.models.CharField.max_length\"><code class=\"xref py py-attr docutils literal notranslate\"><span class=\"pre\">max_length</span></code></a>.</p>\n</section>\n<section id=\"floatfield\">\n<h3><code class=\"docutils literal notranslate\"><span class=\"pre\">FloatField</span></code><a class=\"heading-anchor\" href=\"#floatfield\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<dl class=\"py class\">\n<dt class=\"sig sig-object py\" id=\"django.db.models.FloatField\">\n<em class=\"property\"><span class=\"k\"><span class=\"pre\">class</span></span><span class=\"w\"> </span></em><span class=\"sig-name descname\"><span class=\"pre\">FloatField</span></span><span class=\"sig-paren\">(</span><em class=\"sig-param\"><span class=\"o\"><span class=\"pre\">**</span></span><span class=\"n\"><span class=\"pre\">options</span></span></em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.db.models.FloatField\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p>Ett flyttal som i Python representeras av en <code class=\"docutils literal notranslate\"><span class=\"pre\">float</span></code>-instans.</p>\n<p>Standardformulärwidgeten för detta fält är en <a class=\"reference internal\" href=\"/sv/6.1/ref/forms/widgets/#django.forms.NumberInput\" title=\"django.forms.NumberInput\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">NumberInput</span></code></a> när <a class=\"reference internal\" href=\"/sv/6.1/ref/forms/fields/#django.forms.Field.localize\" title=\"django.forms.Field.localize\"><code class=\"xref py py-attr docutils literal notranslate\"><span class=\"pre\">localize</span></code></a> är <code class=\"docutils literal notranslate\"><span class=\"pre\">False</span></code> eller annars <a class=\"reference internal\" href=\"/sv/6.1/ref/forms/widgets/#django.forms.TextInput\" title=\"django.forms.TextInput\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">TextInput</span></code></a>.</p>\n<aside class=\"admonition-floatfield-vs-decimalfield admonition\" id=\"floatfield-vs-decimalfield\">\n<p class=\"admonition-title\"><code class=\"docutils literal notranslate\"><span class=\"pre\">FloatField</span></code> vs. <code class=\"docutils literal notranslate\"><span class=\"pre\">DecimalField</span></code></p>\n<p>Klassen <a class=\"reference internal\" href=\"#django.db.models.FloatField\" title=\"django.db.models.FloatField\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">FloatField</span></code></a> blandas ibland ihop med klassen <a class=\"reference internal\" href=\"#django.db.models.DecimalField\" title=\"django.db.models.DecimalField\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">DecimalField</span></code></a>. Även om de båda representerar verkliga tal, representerar de dessa tal på olika sätt. <code class=\"docutils literal notranslate\"><span class=\"pre\">FloatField</span></code> använder Pythons typ <code class=\"docutils literal notranslate\"><span class=\"pre\">float</span></code> internt, medan <code class=\"docutils literal notranslate\"><span class=\"pre\">DecimalField</span></code> använder Pythons typ <code class=\"docutils literal notranslate\"><span class=\"pre\">Decimal</span></code>. För information om skillnaden mellan de två, se Pythons dokumentation för modulen <a class=\"reference external\" href=\"https://docs.python.org/3/library/decimal.html#module-decimal\" title=\"(in Python v3.14)\"><code class=\"xref py py-mod docutils literal notranslate\"><span class=\"pre\">decimal</span></code></a>.</p>\n</aside>\n</section>\n<section id=\"generatedfield\">\n<h3><code class=\"docutils literal notranslate\"><span class=\"pre\">GeneratedField</span></code><a class=\"heading-anchor\" href=\"#generatedfield\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<dl class=\"py class\">\n<dt class=\"sig sig-object py\" id=\"django.db.models.GeneratedField\">\n<em class=\"property\"><span class=\"k\"><span class=\"pre\">class</span></span><span class=\"w\"> </span></em><span class=\"sig-name descname\"><span class=\"pre\">GeneratedField</span></span><span class=\"sig-paren\">(</span><em class=\"sig-param\"><span class=\"keyword-only-separator o\"><abbr title=\"Keyword-only parameters separator (PEP 3102)\"><span class=\"pre\">*</span></abbr></span></em>, <em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">expression</span></span></em>, <em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">output_field</span></span></em>, <em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">db_persist</span></span></em>, <em class=\"sig-param\"><span class=\"o\"><span class=\"pre\">**</span></span><span class=\"n\"><span class=\"pre\">kwargs</span></span></em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.db.models.GeneratedField\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p>Ett fält som alltid beräknas baserat på andra fält i modellen. Detta fält hanteras och uppdateras av databasen själv. Använder SQL-syntaxen <code class=\"docutils literal notranslate\"><span class=\"pre\">GENERATED</span> <span class=\"pre\">ALWAYS</span></code>.</p>\n<p>Det finns två typer av genererade kolumner: lagrade och virtuella. En lagrad genererad kolumn beräknas när den skrivs (infogas eller uppdateras) och tar upp lagringsutrymme som om det vore en vanlig kolumn. En virtuell genererad kolumn upptar ingen lagringsplats och beräknas när den läses. En virtuell genererad kolumn liknar alltså en vy och en lagrad genererad kolumn liknar en materialiserad vy.</p>\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.db.models.GeneratedField.expression\">\n<span class=\"sig-prename descclassname\"><span class=\"pre\">GeneratedField.</span></span><span class=\"sig-name descname\"><span class=\"pre\">expression</span></span><a class=\"heading-anchor\" href=\"#django.db.models.GeneratedField.expression\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Ett <a class=\"reference internal\" href=\"/sv/6.1/ref/models/expressions/#django.db.models.Expression\" title=\"django.db.models.Expression\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">Expression</span></code></a> som används av databasen för att automatiskt ställa in fältvärdet varje gång modellen ändras.</p>\n<p>Uttrycken ska vara deterministiska och endast referera till fält inom modellen (i samma databastabell). Genererade fält kan inte referera till andra genererade fält. Databasbackends kan införa ytterligare begränsningar.</p>\n</dd></dl>\n\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.db.models.GeneratedField.output_field\">\n<span class=\"sig-prename descclassname\"><span class=\"pre\">GeneratedField.</span></span><span class=\"sig-name descname\"><span class=\"pre\">output_field</span></span><a class=\"heading-anchor\" href=\"#django.db.models.GeneratedField.output_field\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>En modellfältsinstans för att definiera fältets datatyp.</p>\n</dd></dl>\n\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.db.models.GeneratedField.db_persist\">\n<span class=\"sig-prename descclassname\"><span class=\"pre\">GeneratedField.</span></span><span class=\"sig-name descname\"><span class=\"pre\">db_persist</span></span><a class=\"heading-anchor\" href=\"#django.db.models.GeneratedField.db_persist\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Bestämmer om databaskolumnen ska ta upp lagringsutrymme som om den vore en riktig kolumn. Om <code class=\"docutils literal notranslate\"><span class=\"pre\">False</span></code>, fungerar kolumnen som en virtuell kolumn och tar inte upp lagringsutrymme i databasen.</p>\n<p>PostgreSQL &lt; 18 only supports persisted columns. Oracle &lt; 23ai/26ai (23.7)\nonly supports virtual columns.</p>\n<aside class=\"version-note version-changed\" data-version=\"6.1\">\n<p class=\"version-note-title\">Changed in Django 6.1</p><p>Support for virtual <code class=\"docutils literal notranslate\"><span class=\"pre\">GeneratedField</span></code>s was added on Postgres 18+ and\nfor stored ones on Oracle 23ai/26ai (23.7+).</p>\n</aside>\n</dd></dl>\n\n<aside class=\"admonition-database-limitations admonition\">\n<p class=\"admonition-title\">Begränsningar i databasen</p>\n<p>Det finns många databasspecifika begränsningar för genererade fält som Django inte validerar och databasen kan ge upphov till ett fel, t.ex. PostgreSQL kräver att funktioner och operatörer som refereras till i en genererad kolumn markeras som <code class=\"docutils literal notranslate\"><span class=\"pre\">IMMUTABLE</span></code>.</p>\n<p>Du bör alltid kontrollera att <code class=\"docutils literal notranslate\"><span class=\"pre\">expression</span></code> stöds i din databas. Kolla in <a class=\"reference external\" href=\"https://mariadb.com/kb/en/generated-columns/#expression-support\">MariaDB</a>, <a class=\"reference external\" href=\"https://dev.mysql.com/doc/refman/en/create-table-generated-columns.html\">MySQL</a>, <a class=\"reference external\" href=\"https://docs.oracle.com/en/database/oracle/oracle-database/21/sqlrf/CREATE-TABLE.html#GUID-F9CE0CC3-13AE-4744-A43C-EAC7A71AAAB6__BABIIGBD\">Oracle</a>, <a class=\"reference external\" href=\"https://www.postgresql.org/docs/current/ddl-generated-columns.html\">PostgreSQL</a> eller <a class=\"reference external\" href=\"https://www.sqlite.org/gencol.html#limitations\">SQLite</a> docs.</p>\n</aside>\n<aside class=\"version-note version-changed\" data-version=\"6.0\">\n<p class=\"version-note-title\">Changed in Django 6.0</p><p><code class=\"docutils literal notranslate\"><span class=\"pre\">GeneratedField</span></code>s are now automatically refreshed from the database on\nbackends that support it (SQLite, PostgreSQL, and Oracle) and marked as\ndeferred otherwise.</p>\n</aside>\n<p><a class=\"reference internal\" href=\"#django.db.models.Field.null\" title=\"django.db.models.Field.null\"><code class=\"xref py py-attr docutils literal notranslate\"><span class=\"pre\">null</span></code></a> has no effect on <code class=\"docutils literal notranslate\"><span class=\"pre\">GeneratedField</span></code> since whether the\ncolumn is nullable depends on the database and expression used.</p>\n</section>\n<section id=\"genericipaddressfield\">\n<h3><code class=\"docutils literal notranslate\"><span class=\"pre\">GenericIPAddressField</span></code><a class=\"heading-anchor\" href=\"#genericipaddressfield\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<dl class=\"py class\">\n<dt class=\"sig sig-object py\" id=\"django.db.models.GenericIPAddressField\">\n<em class=\"property\"><span class=\"k\"><span class=\"pre\">class</span></span><span class=\"w\"> </span></em><span class=\"sig-name descname\"><span class=\"pre\">GenericIPAddressField</span></span><span class=\"sig-paren\">(</span><em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">protocol</span></span><span class=\"o\"><span class=\"pre\">=</span></span><span class=\"default_value\"><span class=\"pre\">'both'</span></span></em>, <em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">unpack_ipv4</span></span><span class=\"o\"><span class=\"pre\">=</span></span><span class=\"default_value\"><span class=\"pre\">False</span></span></em>, <em class=\"sig-param\"><span class=\"o\"><span class=\"pre\">**</span></span><span class=\"n\"><span class=\"pre\">options</span></span></em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.db.models.GenericIPAddressField\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p>En IPv4- eller IPv6-adress i strängformat (t.ex. <code class=\"docutils literal notranslate\"><span class=\"pre\">192.0.2.30</span></code> eller <code class=\"docutils literal notranslate\"><span class=\"pre\">2a02:42fe::4</span></code>). Standardformulärwidgeten för detta fält är en <a class=\"reference internal\" href=\"/sv/6.1/ref/forms/widgets/#django.forms.TextInput\" title=\"django.forms.TextInput\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">TextInput</span></code></a>.</p>\n<p>Normaliseringen av IPv6-adresser följer <span class=\"target\" id=\"index-2\"></span><a class=\"rfc reference external\" href=\"https://datatracker.ietf.org/doc/html/rfc4291.html#section-2.2\"><strong>RFC 4291 Section 2.2</strong></a> avsnitt 2.2, inklusive användning av det IPv4-format som föreslås i punkt 3 i det avsnittet, som <code class=\"docutils literal notranslate\"><span class=\"pre\">::ffff:192.0.2.0</span></code>. Till exempel: skulle <code class=\"docutils literal notranslate\"><span class=\"pre\">2001:0::0:01</span></code> normaliseras till <code class=\"docutils literal notranslate\"><span class=\"pre\">2001::1</span></code>, och <code class=\"docutils literal notranslate\"><span class=\"pre\">::ffff:0a0a:0a0a</span></code> till <code class=\"docutils literal notranslate\"><span class=\"pre\">::ffff:10.10.10.10</span></code>. Alla tecken konverteras till gemener.</p>\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.db.models.GenericIPAddressField.protocol\">\n<span class=\"sig-prename descclassname\"><span class=\"pre\">GenericIPAddressField.</span></span><span class=\"sig-name descname\"><span class=\"pre\">protocol</span></span><a class=\"heading-anchor\" href=\"#django.db.models.GenericIPAddressField.protocol\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Begränsar giltiga indata till det angivna protokollet. Accepterade värden är <code class=\"docutils literal notranslate\"><span class=\"pre\">'both'</span></code> (standard), <code class=\"docutils literal notranslate\"><span class=\"pre\">'IPv4'</span></code> eller <code class=\"docutils literal notranslate\"><span class=\"pre\">'IPv6'</span></code>. Matchningen är okänslig för skiftlägesskillnader.</p>\n</dd></dl>\n\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.db.models.GenericIPAddressField.unpack_ipv4\">\n<span class=\"sig-prename descclassname\"><span class=\"pre\">GenericIPAddressField.</span></span><span class=\"sig-name descname\"><span class=\"pre\">unpack_ipv4</span></span><a class=\"heading-anchor\" href=\"#django.db.models.GenericIPAddressField.unpack_ipv4\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Packar upp IPv4-mappade adresser som <code class=\"docutils literal notranslate\"><span class=\"pre\">::ffff:192.0.2.1</span></code>. Om detta alternativ är aktiverat kommer den adressen att packas upp till <code class=\"docutils literal notranslate\"><span class=\"pre\">192.0.2.1</span></code>. Standard är inaktiverat. Kan endast användas när <code class=\"docutils literal notranslate\"><span class=\"pre\">protocol</span></code> är inställt på <code class=\"docutils literal notranslate\"><span class=\"pre\">'both'</span></code>.</p>\n</dd></dl>\n\n<p>Om du tillåter tomma värden måste du tillåta null-värden eftersom tomma värden lagras som null.</p>\n</section>\n<section id=\"imagefield\">\n<h3><code class=\"docutils literal notranslate\"><span class=\"pre\">ImageField</span></code><a class=\"heading-anchor\" href=\"#imagefield\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<dl class=\"py class\">\n<dt class=\"sig sig-object py\" id=\"django.db.models.ImageField\">\n<em class=\"property\"><span class=\"k\"><span class=\"pre\">class</span></span><span class=\"w\"> </span></em><span class=\"sig-name descname\"><span class=\"pre\">ImageField</span></span><span class=\"sig-paren\">(</span><em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">upload_to</span></span><span class=\"o\"><span class=\"pre\">=</span></span><span class=\"default_value\"><span class=\"pre\">None</span></span></em>, <em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">height_field</span></span><span class=\"o\"><span class=\"pre\">=</span></span><span class=\"default_value\"><span class=\"pre\">None</span></span></em>, <em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">width_field</span></span><span class=\"o\"><span class=\"pre\">=</span></span><span class=\"default_value\"><span class=\"pre\">None</span></span></em>, <em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">max_length</span></span><span class=\"o\"><span class=\"pre\">=</span></span><span class=\"default_value\"><span class=\"pre\">100</span></span></em>, <em class=\"sig-param\"><span class=\"o\"><span class=\"pre\">**</span></span><span class=\"n\"><span class=\"pre\">options</span></span></em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.db.models.ImageField\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p>Ärver alla attribut och metoder från <a class=\"reference internal\" href=\"#django.db.models.FileField\" title=\"django.db.models.FileField\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">FileField</span></code></a>, men validerar också att det uppladdade objektet är en giltig bild.</p>\n<p>Förutom de specialattribut som finns för <a class=\"reference internal\" href=\"#django.db.models.FileField\" title=\"django.db.models.FileField\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">FileField</span></code></a> har en <a class=\"reference internal\" href=\"#django.db.models.ImageField\" title=\"django.db.models.ImageField\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">ImageField</span></code></a> även attributen <code class=\"docutils literal notranslate\"><span class=\"pre\">height</span></code> och <code class=\"docutils literal notranslate\"><span class=\"pre\">width</span></code>.</p>\n<p>För att göra det lättare att ställa frågor om dessa attribut har <a class=\"reference internal\" href=\"#django.db.models.ImageField\" title=\"django.db.models.ImageField\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">ImageField</span></code></a> följande valfria argument:</p>\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.db.models.ImageField.height_field\">\n<span class=\"sig-prename descclassname\"><span class=\"pre\">ImageField.</span></span><span class=\"sig-name descname\"><span class=\"pre\">height_field</span></span><a class=\"heading-anchor\" href=\"#django.db.models.ImageField.height_field\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Namn på ett modellfält som automatiskt fylls i med bildens höjd varje gång ett bildobjekt ställs in.</p>\n</dd></dl>\n\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.db.models.ImageField.width_field\">\n<span class=\"sig-prename descclassname\"><span class=\"pre\">ImageField.</span></span><span class=\"sig-name descname\"><span class=\"pre\">width_field</span></span><a class=\"heading-anchor\" href=\"#django.db.models.ImageField.width_field\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Namn på ett modellfält som automatiskt fylls i med bildens bredd varje gång ett bildobjekt ställs in.</p>\n</dd></dl>\n\n<p>Kräver biblioteket <a class=\"extlink-pypi reference external\" href=\"https://pypi.org/project/pillow/\">pillow</a>.</p>\n<p><a class=\"reference internal\" href=\"#django.db.models.ImageField\" title=\"django.db.models.ImageField\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">ImageField</span></code></a>-instanser skapas i din databas som <code class=\"docutils literal notranslate\"><span class=\"pre\">varchar</span></code>-kolumner med en maximal standardlängd på 100 tecken. Precis som för andra fält kan du ändra den maximala längden med argumentet <a class=\"reference internal\" href=\"#django.db.models.CharField.max_length\" title=\"django.db.models.CharField.max_length\"><code class=\"xref py py-attr docutils literal notranslate\"><span class=\"pre\">max_length</span></code></a>.</p>\n<p>Standardformulärwidgeten för detta fält är en <a class=\"reference internal\" href=\"/sv/6.1/ref/forms/widgets/#django.forms.ClearableFileInput\" title=\"django.forms.ClearableFileInput\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">ClearableFileInput</span></code></a>.</p>\n</section>\n<section id=\"integerfield\">\n<h3><code class=\"docutils literal notranslate\"><span class=\"pre\">IntegerField</span></code><a class=\"heading-anchor\" href=\"#integerfield\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<dl class=\"py class\">\n<dt class=\"sig sig-object py\" id=\"django.db.models.IntegerField\">\n<em class=\"property\"><span class=\"k\"><span class=\"pre\">class</span></span><span class=\"w\"> </span></em><span class=\"sig-name descname\"><span class=\"pre\">IntegerField</span></span><span class=\"sig-paren\">(</span><em class=\"sig-param\"><span class=\"o\"><span class=\"pre\">**</span></span><span class=\"n\"><span class=\"pre\">options</span></span></em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.db.models.IntegerField\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p>Ett heltal. Värden är endast tillåtna mellan vissa (databasberoende) punkter. Värden från <code class=\"docutils literal notranslate\"><span class=\"pre\">-2147483648</span></code> till <code class=\"docutils literal notranslate\"><span class=\"pre\">2147483647</span></code> är kompatibla i alla databaser som stöds av Django.</p>\n<p>Den använder <a class=\"reference internal\" href=\"/sv/6.1/ref/validators/#django.core.validators.MinValueValidator\" title=\"django.core.validators.MinValueValidator\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">MinValueValidator</span></code></a> och <a class=\"reference internal\" href=\"/sv/6.1/ref/validators/#django.core.validators.MaxValueValidator\" title=\"django.core.validators.MaxValueValidator\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">MaxValueValidator</span></code></a> för att validera inmatningen baserat på de värden som standarddatabasen stöder.</p>\n<p>Standardformulärwidgeten för detta fält är en <a class=\"reference internal\" href=\"/sv/6.1/ref/forms/widgets/#django.forms.NumberInput\" title=\"django.forms.NumberInput\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">NumberInput</span></code></a> när <a class=\"reference internal\" href=\"/sv/6.1/ref/forms/fields/#django.forms.Field.localize\" title=\"django.forms.Field.localize\"><code class=\"xref py py-attr docutils literal notranslate\"><span class=\"pre\">localize</span></code></a> är <code class=\"docutils literal notranslate\"><span class=\"pre\">False</span></code> eller annars <a class=\"reference internal\" href=\"/sv/6.1/ref/forms/widgets/#django.forms.TextInput\" title=\"django.forms.TextInput\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">TextInput</span></code></a>.</p>\n</section>\n<section id=\"jsonfield\">\n<h3><code class=\"docutils literal notranslate\"><span class=\"pre\">JSONField</span></code><a class=\"heading-anchor\" href=\"#jsonfield\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<dl class=\"py class\">\n<dt class=\"sig sig-object py\" id=\"django.db.models.JSONField\">\n<em class=\"property\"><span class=\"k\"><span class=\"pre\">class</span></span><span class=\"w\"> </span></em><span class=\"sig-name descname\"><span class=\"pre\">JSONField</span></span><span class=\"sig-paren\">(</span><em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">encoder</span></span><span class=\"o\"><span class=\"pre\">=</span></span><span class=\"default_value\"><span class=\"pre\">None</span></span></em>, <em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">decoder</span></span><span class=\"o\"><span class=\"pre\">=</span></span><span class=\"default_value\"><span class=\"pre\">None</span></span></em>, <em class=\"sig-param\"><span class=\"o\"><span class=\"pre\">**</span></span><span class=\"n\"><span class=\"pre\">options</span></span></em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.db.models.JSONField\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p>Ett fält för lagring av JSON-kodade data. I Python representeras data i Pythons ursprungliga format: ordböcker, listor, strängar, siffror, booleaner och <code class=\"docutils literal notranslate\"><span class=\"pre\">None</span></code>.</p>\n<p><code class=\"docutils literal notranslate\"><span class=\"pre\">JSONField</span></code> stöds på MariaDB, MySQL, Oracle, PostgreSQL och SQLite (med <a class=\"reference internal\" href=\"/sv/6.1/ref/databases/#sqlite-json1\"><span class=\"std std-ref\">JSON1-tillägget aktiverat</span></a>).</p>\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.db.models.JSONField.encoder\">\n<span class=\"sig-prename descclassname\"><span class=\"pre\">JSONField.</span></span><span class=\"sig-name descname\"><span class=\"pre\">encoder</span></span><a class=\"heading-anchor\" href=\"#django.db.models.JSONField.encoder\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>An optional <a class=\"reference external\" href=\"https://docs.python.org/3/library/json.html#json.JSONEncoder\" title=\"(in Python v3.14)\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">json.JSONEncoder</span></code></a> subclass to serialize data types\nnot supported by the standard JSON serializer (e.g. <code class=\"docutils literal notranslate\"><span class=\"pre\">datetime.datetime</span></code>\nor <a class=\"reference external\" href=\"https://docs.python.org/3/library/uuid.html#uuid.UUID\" title=\"(in Python v3.14)\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">UUID</span></code></a>). For example, you can use the\n<a class=\"reference internal\" href=\"/sv/6.1/topics/serialization/#django.core.serializers.json.DjangoJSONEncoder\" title=\"django.core.serializers.json.DjangoJSONEncoder\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">DjangoJSONEncoder</span></code></a> class.</p>\n<p>Standardvärdet är <code class=\"docutils literal notranslate\"><span class=\"pre\">json.JSONEncoder</span></code>.</p>\n</dd></dl>\n\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.db.models.JSONField.decoder\">\n<span class=\"sig-prename descclassname\"><span class=\"pre\">JSONField.</span></span><span class=\"sig-name descname\"><span class=\"pre\">decoder</span></span><a class=\"heading-anchor\" href=\"#django.db.models.JSONField.decoder\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>An optional <a class=\"reference external\" href=\"https://docs.python.org/3/library/json.html#json.JSONDecoder\" title=\"(in Python v3.14)\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">json.JSONDecoder</span></code></a> subclass to deserialize the value\nretrieved from the database. The value will be in the format chosen by the\ncustom encoder (most often a string). Your deserialization may need to\naccount for the fact that you can’t be certain of the input type. For\nexample, you run the risk of returning a <code class=\"docutils literal notranslate\"><span class=\"pre\">datetime</span></code> that was actually a\nstring that just happened to be in the same format chosen for\n<code class=\"docutils literal notranslate\"><span class=\"pre\">datetime</span></code>s.</p>\n<p>Standardvärdet är <code class=\"docutils literal notranslate\"><span class=\"pre\">json.JSONDecoder</span></code>.</p>\n</dd></dl>\n\n<p>För att fråga <code class=\"docutils literal notranslate\"><span class=\"pre\">JSONField</span></code> i databasen, se <a class=\"reference internal\" href=\"/sv/6.1/topics/db/queries/#querying-jsonfield\"><span class=\"std std-ref\">Fråga om JSONField</span></a>.</p>\n<aside class=\"admonition-default-value admonition\">\n<p class=\"admonition-title\">Standardvärde</p>\n<p>If you give the field a <a class=\"reference internal\" href=\"#django.db.models.Field.default\" title=\"django.db.models.Field.default\"><code class=\"xref py py-attr docutils literal notranslate\"><span class=\"pre\">default</span></code></a>, ensure\nit’s a callable such as the <a class=\"reference external\" href=\"https://docs.python.org/3/library/stdtypes.html#dict\" title=\"(in Python v3.14)\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">dict</span></code></a> class or a function that\nreturns a fresh object each time. Incorrectly using a mutable object like\n<code class=\"docutils literal notranslate\"><span class=\"pre\">default={}</span></code> or <code class=\"docutils literal notranslate\"><span class=\"pre\">default=[]</span></code> creates a mutable default that is shared\nbetween all instances.</p>\n</aside>\n<aside class=\"admonition-indexing admonition\">\n<p class=\"admonition-title\">Indexering</p>\n<p><a class=\"reference internal\" href=\"/sv/6.1/ref/models/indexes/#django.db.models.Index\" title=\"django.db.models.Index\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">Index</span></code></a> och <a class=\"reference internal\" href=\"#django.db.models.Field.db_index\" title=\"django.db.models.Field.db_index\"><code class=\"xref py py-attr docutils literal notranslate\"><span class=\"pre\">Field.db_index</span></code></a> skapar båda ett B-trädindex, vilket inte är särskilt användbart när man frågar <code class=\"docutils literal notranslate\"><span class=\"pre\">JSONField</span></code>. Endast på PostgreSQL kan du använda <a class=\"reference internal\" href=\"/sv/6.1/ref/contrib/postgres/indexes/#django.contrib.postgres.indexes.GinIndex\" title=\"django.contrib.postgres.indexes.GinIndex\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">GinIndex</span></code></a> som är bättre lämpad.</p>\n</aside>\n<aside class=\"admonition-postgresql-users admonition\">\n<p class=\"admonition-title\">PostgreSQL-användare</p>\n<p>PostgreSQL har två inbyggda JSON-baserade datatyper: `` json`` och `` jsonb``. Huvudskillnaden mellan dem är hur de lagras och hur de kan frågas. PostgreSQL: s `` json``-fält lagras som den ursprungliga strängrepresentationen av JSON och måste avkodas i farten när det frågas baserat på nycklar. Fältet <code class=\"docutils literal notranslate\"><span class=\"pre\">jsonb</span></code> lagras baserat på den faktiska strukturen i JSON som tillåter indexering. Avvägningen är en liten extra kostnad för att skriva till fältet <code class=\"docutils literal notranslate\"><span class=\"pre\">jsonb</span></code>. <code class=\"docutils literal notranslate\"><span class=\"pre\">JSONField</span></code> använder <code class=\"docutils literal notranslate\"><span class=\"pre\">jsonb</span></code>.</p>\n</aside>\n<aside class=\"admonition-oracle-users admonition\">\n<p class=\"admonition-title\">Oracle-användare</p>\n<p>Oracle Database does not support storing JSON scalar values. Only JSON\nobjects and arrays (represented in Python using <a class=\"reference external\" href=\"https://docs.python.org/3/library/stdtypes.html#dict\" title=\"(in Python v3.14)\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">dict</span></code></a> and\n<a class=\"reference external\" href=\"https://docs.python.org/3/library/stdtypes.html#list\" title=\"(in Python v3.14)\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">list</span></code></a>) are supported.</p>\n</aside>\n</section>\n<section id=\"positivebigintegerfield\">\n<h3><code class=\"docutils literal notranslate\"><span class=\"pre\">PositivBigIntegerField</span></code><a class=\"heading-anchor\" href=\"#positivebigintegerfield\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<dl class=\"py class\">\n<dt class=\"sig sig-object py\" id=\"django.db.models.PositiveBigIntegerField\">\n<em class=\"property\"><span class=\"k\"><span class=\"pre\">class</span></span><span class=\"w\"> </span></em><span class=\"sig-name descname\"><span class=\"pre\">PositiveBigIntegerField</span></span><span class=\"sig-paren\">(</span><em class=\"sig-param\"><span class=\"o\"><span class=\"pre\">**</span></span><span class=\"n\"><span class=\"pre\">options</span></span></em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.db.models.PositiveBigIntegerField\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p>Som en <a class=\"reference internal\" href=\"#django.db.models.PositiveIntegerField\" title=\"django.db.models.PositiveIntegerField\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">PositiveIntegerField</span></code></a>, men tillåter bara värden under en viss (databasberoende) punkt. Värden från <code class=\"docutils literal notranslate\"><span class=\"pre\">0</span></code> till <code class=\"docutils literal notranslate\"><span class=\"pre\">9223372036854775807</span></code> är kompatibla i alla databaser som stöds av Django.</p>\n</section>\n<section id=\"positiveintegerfield\">\n<h3><code class=\"docutils literal notranslate\"><span class=\"pre\">PositivIntegerField</span></code><a class=\"heading-anchor\" href=\"#positiveintegerfield\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<dl class=\"py class\">\n<dt class=\"sig sig-object py\" id=\"django.db.models.PositiveIntegerField\">\n<em class=\"property\"><span class=\"k\"><span class=\"pre\">class</span></span><span class=\"w\"> </span></em><span class=\"sig-name descname\"><span class=\"pre\">PositiveIntegerField</span></span><span class=\"sig-paren\">(</span><em class=\"sig-param\"><span class=\"o\"><span class=\"pre\">**</span></span><span class=\"n\"><span class=\"pre\">options</span></span></em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.db.models.PositiveIntegerField\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p>Som en <a class=\"reference internal\" href=\"#django.db.models.IntegerField\" title=\"django.db.models.IntegerField\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">IntegerField</span></code></a>, men måste vara antingen positiv eller noll (<code class=\"docutils literal notranslate\"><span class=\"pre\">0</span></code>). Värden är endast tillåtna under en viss (databasberoende) punkt. Värden från <code class=\"docutils literal notranslate\"><span class=\"pre\">0</span></code> till <code class=\"docutils literal notranslate\"><span class=\"pre\">2147483647</span></code> är kompatibla i alla databaser som stöds av Django. Värdet <code class=\"docutils literal notranslate\"><span class=\"pre\">0</span></code> accepteras av bakåtkompatibilitetsskäl.</p>\n</section>\n<section id=\"positivesmallintegerfield\">\n<h3><code class=\"docutils literal notranslate\"><span class=\"pre\">Positiv</span> <span class=\"pre\">liten</span> <span class=\"pre\">heltalsfält</span></code><a class=\"heading-anchor\" href=\"#positivesmallintegerfield\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<dl class=\"py class\">\n<dt class=\"sig sig-object py\" id=\"django.db.models.PositiveSmallIntegerField\">\n<em class=\"property\"><span class=\"k\"><span class=\"pre\">class</span></span><span class=\"w\"> </span></em><span class=\"sig-name descname\"><span class=\"pre\">PositiveSmallIntegerField</span></span><span class=\"sig-paren\">(</span><em class=\"sig-param\"><span class=\"o\"><span class=\"pre\">**</span></span><span class=\"n\"><span class=\"pre\">options</span></span></em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.db.models.PositiveSmallIntegerField\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p>Som en <a class=\"reference internal\" href=\"#django.db.models.PositiveIntegerField\" title=\"django.db.models.PositiveIntegerField\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">PositiveIntegerField</span></code></a>, men tillåter bara värden under en viss (databasberoende) punkt. Värden från <code class=\"docutils literal notranslate\"><span class=\"pre\">0</span></code> till <code class=\"docutils literal notranslate\"><span class=\"pre\">32767</span></code> är kompatibla i alla databaser som stöds av Django.</p>\n</section>\n<section id=\"slugfield\">\n<h3><code class=\"docutils literal notranslate\"><span class=\"pre\">SlugField</span></code><a class=\"heading-anchor\" href=\"#slugfield\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<dl class=\"py class\">\n<dt class=\"sig sig-object py\" id=\"django.db.models.SlugField\">\n<em class=\"property\"><span class=\"k\"><span class=\"pre\">class</span></span><span class=\"w\"> </span></em><span class=\"sig-name descname\"><span class=\"pre\">SlugField</span></span><span class=\"sig-paren\">(</span><em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">max_length</span></span><span class=\"o\"><span class=\"pre\">=</span></span><span class=\"default_value\"><span class=\"pre\">50</span></span></em>, <em class=\"sig-param\"><span class=\"o\"><span class=\"pre\">**</span></span><span class=\"n\"><span class=\"pre\">options</span></span></em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.db.models.SlugField\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p><a class=\"reference internal\" href=\"/sv/6.1/glossary/#term-slug\"><span class=\"xref std std-term\">Slug</span></a> är en term för tidningar. En slug är en kort etikett för något, som bara innehåller bokstäver, siffror, understrykningar eller bindestreck. De används i allmänhet i webbadresser.</p>\n<p>Precis som en CharField kan du ange <a class=\"reference internal\" href=\"#django.db.models.CharField.max_length\" title=\"django.db.models.CharField.max_length\"><code class=\"xref py py-attr docutils literal notranslate\"><span class=\"pre\">max_length</span></code></a> (läs även anmärkningen om databasportabilitet och <a class=\"reference internal\" href=\"#django.db.models.CharField.max_length\" title=\"django.db.models.CharField.max_length\"><code class=\"xref py py-attr docutils literal notranslate\"><span class=\"pre\">max_length</span></code></a> i det avsnittet). Om <a class=\"reference internal\" href=\"#django.db.models.CharField.max_length\" title=\"django.db.models.CharField.max_length\"><code class=\"xref py py-attr docutils literal notranslate\"><span class=\"pre\">max_length</span></code></a> inte anges kommer Django att använda en standardlängd på 50.</p>\n<p>Innebär att <a class=\"reference internal\" href=\"#django.db.models.Field.db_index\" title=\"django.db.models.Field.db_index\"><code class=\"xref py py-attr docutils literal notranslate\"><span class=\"pre\">Field.db_index</span></code></a> sätts till <code class=\"docutils literal notranslate\"><span class=\"pre\">True</span></code>.</p>\n<p>It is often useful to automatically prepopulate a SlugField based on the value\nof some other value. You can do this automatically in the admin using\n<a class=\"reference internal\" href=\"/sv/6.1/ref/contrib/admin/#django.contrib.admin.ModelAdmin.prepopulated_fields\" title=\"django.contrib.admin.ModelAdmin.prepopulated_fields\"><code class=\"xref py py-attr docutils literal notranslate\"><span class=\"pre\">prepopulated_fields</span></code></a>.</p>\n<p>Den använder <a class=\"reference internal\" href=\"/sv/6.1/ref/validators/#django.core.validators.validate_slug\" title=\"django.core.validators.validate_slug\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">validate_slug</span></code></a> eller <a class=\"reference internal\" href=\"/sv/6.1/ref/validators/#django.core.validators.validate_unicode_slug\" title=\"django.core.validators.validate_unicode_slug\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">validate_unicode_slug</span></code></a> för validering.</p>\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.db.models.SlugField.allow_unicode\">\n<span class=\"sig-prename descclassname\"><span class=\"pre\">SlugField.</span></span><span class=\"sig-name descname\"><span class=\"pre\">allow_unicode</span></span><a class=\"heading-anchor\" href=\"#django.db.models.SlugField.allow_unicode\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Om <code class=\"docutils literal notranslate\"><span class=\"pre\">True</span></code>, accepterar fältet Unicode-bokstäver utöver ASCII-bokstäver. Standardvärdet är <code class=\"docutils literal notranslate\"><span class=\"pre\">False</span></code>.</p>\n</dd></dl>\n\n</section>\n<section id=\"smallautofield\">\n<h3><code class=\"docutils literal notranslate\"><span class=\"pre\">SmallAutoField</span></code><a class=\"heading-anchor\" href=\"#smallautofield\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<dl class=\"py class\">\n<dt class=\"sig sig-object py\" id=\"django.db.models.SmallAutoField\">\n<em class=\"property\"><span class=\"k\"><span class=\"pre\">class</span></span><span class=\"w\"> </span></em><span class=\"sig-name descname\"><span class=\"pre\">SmallAutoField</span></span><span class=\"sig-paren\">(</span><em class=\"sig-param\"><span class=\"o\"><span class=\"pre\">**</span></span><span class=\"n\"><span class=\"pre\">options</span></span></em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.db.models.SmallAutoField\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p>Som en <a class=\"reference internal\" href=\"#django.db.models.AutoField\" title=\"django.db.models.AutoField\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">AutoField</span></code></a>, men tillåter bara värden under en viss (databasberoende) gräns. Värden från <code class=\"docutils literal notranslate\"><span class=\"pre\">1</span></code> till <code class=\"docutils literal notranslate\"><span class=\"pre\">32767</span></code> är kompatibla i alla databaser som stöds av Django.</p>\n</section>\n<section id=\"smallintegerfield\">\n<h3><code class=\"docutils literal notranslate\"><span class=\"pre\">LitenIntegerField</span></code><a class=\"heading-anchor\" href=\"#smallintegerfield\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<dl class=\"py class\">\n<dt class=\"sig sig-object py\" id=\"django.db.models.SmallIntegerField\">\n<em class=\"property\"><span class=\"k\"><span class=\"pre\">class</span></span><span class=\"w\"> </span></em><span class=\"sig-name descname\"><span class=\"pre\">SmallIntegerField</span></span><span class=\"sig-paren\">(</span><em class=\"sig-param\"><span class=\"o\"><span class=\"pre\">**</span></span><span class=\"n\"><span class=\"pre\">options</span></span></em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.db.models.SmallIntegerField\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p>Som en <a class=\"reference internal\" href=\"#django.db.models.IntegerField\" title=\"django.db.models.IntegerField\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">IntegerField</span></code></a>, men tillåter bara värden under en viss (databasberoende) punkt. Värden från <code class=\"docutils literal notranslate\"><span class=\"pre\">-32768</span></code> till <code class=\"docutils literal notranslate\"><span class=\"pre\">32767</span></code> är kompatibla i alla databaser som stöds av Django.</p>\n</section>\n<section id=\"textfield\">\n<h3><code class=\"docutils literal notranslate\"><span class=\"pre\">Textfält</span></code><a class=\"heading-anchor\" href=\"#textfield\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<dl class=\"py class\">\n<dt class=\"sig sig-object py\" id=\"django.db.models.TextField\">\n<em class=\"property\"><span class=\"k\"><span class=\"pre\">class</span></span><span class=\"w\"> </span></em><span class=\"sig-name descname\"><span class=\"pre\">TextField</span></span><span class=\"sig-paren\">(</span><em class=\"sig-param\"><span class=\"o\"><span class=\"pre\">**</span></span><span class=\"n\"><span class=\"pre\">options</span></span></em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.db.models.TextField\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p>Ett stort textfält. Standardformulärwidgeten för detta fält är en <a class=\"reference internal\" href=\"/sv/6.1/ref/forms/widgets/#django.forms.Textarea\" title=\"django.forms.Textarea\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">Textarea</span></code></a>.</p>\n<p>Om du anger ett <code class=\"docutils literal notranslate\"><span class=\"pre\">max_length</span></code>-attribut kommer det att återspeglas i <a class=\"reference internal\" href=\"/sv/6.1/ref/forms/widgets/#django.forms.Textarea\" title=\"django.forms.Textarea\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">Textarea</span></code></a>-widgeten i det autogenererade formulärfältet. Det verkställs dock inte på modell- eller databasnivå. Använd en <a class=\"reference internal\" href=\"#django.db.models.CharField\" title=\"django.db.models.CharField\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">CharField</span></code></a> för det.</p>\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.db.models.TextField.db_collation\">\n<span class=\"sig-prename descclassname\"><span class=\"pre\">TextField.</span></span><span class=\"sig-name descname\"><span class=\"pre\">db_collation</span></span><a class=\"heading-anchor\" href=\"#django.db.models.TextField.db_collation\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Valfritt. Databasens kollationsnamn för fältet.</p>\n<aside class=\"admonition admonition-note\" role=\"note\">\n<p class=\"admonition-title\">Observera</p>\n<p>Kollationeringsnamn är inte standardiserade. Därför kommer detta inte att vara portabelt mellan olika databasbackends.</p>\n</aside>\n<aside class=\"admonition-oracle admonition\">\n<p class=\"admonition-title\">Oracle</p>\n<p>Oracle stöder inte kollationer för en <code class=\"docutils literal notranslate\"><span class=\"pre\">TextField</span></code>.</p>\n</aside>\n</dd></dl>\n\n</section>\n<section id=\"timefield\">\n<h3><code class=\"docutils literal notranslate\"><span class=\"pre\">TimeField</span></code><a class=\"heading-anchor\" href=\"#timefield\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<dl class=\"py class\">\n<dt class=\"sig sig-object py\" id=\"django.db.models.TimeField\">\n<em class=\"property\"><span class=\"k\"><span class=\"pre\">class</span></span><span class=\"w\"> </span></em><span class=\"sig-name descname\"><span class=\"pre\">TimeField</span></span><span class=\"sig-paren\">(</span><em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">auto_now</span></span><span class=\"o\"><span class=\"pre\">=</span></span><span class=\"default_value\"><span class=\"pre\">False</span></span></em>, <em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">auto_now_add</span></span><span class=\"o\"><span class=\"pre\">=</span></span><span class=\"default_value\"><span class=\"pre\">False</span></span></em>, <em class=\"sig-param\"><span class=\"o\"><span class=\"pre\">**</span></span><span class=\"n\"><span class=\"pre\">options</span></span></em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.db.models.TimeField\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p>En tid, representerad i Python av en <code class=\"docutils literal notranslate\"><span class=\"pre\">datetime.time</span></code>-instans. Accepterar samma autopopuleringsalternativ som <a class=\"reference internal\" href=\"#django.db.models.DateField\" title=\"django.db.models.DateField\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">DateField</span></code></a>.</p>\n<p>Standardformulärwidgeten för detta fält är en <a class=\"reference internal\" href=\"/sv/6.1/ref/forms/widgets/#django.forms.TimeInput\" title=\"django.forms.TimeInput\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">TimeInput</span></code></a>. Administratören lägger till några JavaScript-genvägar.</p>\n</section>\n<section id=\"urlfield\">\n<h3><code class=\"docutils literal notranslate\"><span class=\"pre\">URL-fält</span></code><a class=\"heading-anchor\" href=\"#urlfield\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<dl class=\"py class\">\n<dt class=\"sig sig-object py\" id=\"django.db.models.URLField\">\n<em class=\"property\"><span class=\"k\"><span class=\"pre\">class</span></span><span class=\"w\"> </span></em><span class=\"sig-name descname\"><span class=\"pre\">URLField</span></span><span class=\"sig-paren\">(</span><em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">max_length</span></span><span class=\"o\"><span class=\"pre\">=</span></span><span class=\"default_value\"><span class=\"pre\">200</span></span></em>, <em class=\"sig-param\"><span class=\"o\"><span class=\"pre\">**</span></span><span class=\"n\"><span class=\"pre\">options</span></span></em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.db.models.URLField\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p>En <a class=\"reference internal\" href=\"#django.db.models.CharField\" title=\"django.db.models.CharField\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">CharField</span></code></a> för en URL, validerad av <a class=\"reference internal\" href=\"/sv/6.1/ref/validators/#django.core.validators.URLValidator\" title=\"django.core.validators.URLValidator\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">URLValidator</span></code></a>.</p>\n<p>Standardformulärwidgeten för det här fältet är en <a class=\"reference internal\" href=\"/sv/6.1/ref/forms/widgets/#django.forms.URLInput\" title=\"django.forms.URLInput\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">URLInput</span></code></a>.</p>\n<p>Som alla <a class=\"reference internal\" href=\"#django.db.models.CharField\" title=\"django.db.models.CharField\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">CharField</span></code></a>-subklasser tar <a class=\"reference internal\" href=\"#django.db.models.URLField\" title=\"django.db.models.URLField\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">URLField</span></code></a> det valfria argumentet <a class=\"reference internal\" href=\"#django.db.models.CharField.max_length\" title=\"django.db.models.CharField.max_length\"><code class=\"xref py py-attr docutils literal notranslate\"><span class=\"pre\">max_length</span></code></a>. Om du inte anger <a class=\"reference internal\" href=\"#django.db.models.CharField.max_length\" title=\"django.db.models.CharField.max_length\"><code class=\"xref py py-attr docutils literal notranslate\"><span class=\"pre\">max_length</span></code></a> används standardvärdet 200.</p>\n</section>\n<section id=\"uuidfield\">\n<h3><code class=\"docutils literal notranslate\"><span class=\"pre\">UUIDField</span></code><a class=\"heading-anchor\" href=\"#uuidfield\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<dl class=\"py class\">\n<dt class=\"sig sig-object py\" id=\"django.db.models.UUIDField\">\n<em class=\"property\"><span class=\"k\"><span class=\"pre\">class</span></span><span class=\"w\"> </span></em><span class=\"sig-name descname\"><span class=\"pre\">UUIDField</span></span><span class=\"sig-paren\">(</span><em class=\"sig-param\"><span class=\"o\"><span class=\"pre\">**</span></span><span class=\"n\"><span class=\"pre\">options</span></span></em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.db.models.UUIDField\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p>A field for storing universally unique identifiers. Uses Python’s\n<a class=\"reference external\" href=\"https://docs.python.org/3/library/uuid.html#uuid.UUID\" title=\"(in Python v3.14)\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">UUID</span></code></a> class. When used on PostgreSQL and MariaDB, this\nstores in a <code class=\"docutils literal notranslate\"><span class=\"pre\">uuid</span></code> datatype, otherwise in a <code class=\"docutils literal notranslate\"><span class=\"pre\">char(32)</span></code>.</p>\n<p>Universellt unika identifierare är ett bra alternativ till <a class=\"reference internal\" href=\"#django.db.models.AutoField\" title=\"django.db.models.AutoField\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">AutoField</span></code></a> för <a class=\"reference internal\" href=\"#django.db.models.Field.primary_key\" title=\"django.db.models.Field.primary_key\"><code class=\"xref py py-attr docutils literal notranslate\"><span class=\"pre\">primary_key</span></code></a>. Databasen kommer inte att generera UUID åt dig, så det rekommenderas att du använder <a class=\"reference internal\" href=\"#django.db.models.Field.default\" title=\"django.db.models.Field.default\"><code class=\"xref py py-attr docutils literal notranslate\"><span class=\"pre\">default</span></code></a>:</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\">import</span><span class=\"w\"> </span><span class=\"nn\">uuid</span>\n<span class=\"kn\">from</span><span class=\"w\"> </span><span class=\"nn\">django.db</span><span class=\"w\"> </span><span class=\"kn\">import</span> <span class=\"n\">models</span>\n\n\n<span class=\"k\">class</span><span class=\"w\"> </span><span class=\"nc\">MyUUIDModel</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=\"nb\">id</span> <span class=\"o\">=</span> <span class=\"n\">models</span><span class=\"o\">.</span><span class=\"n\">UUIDField</span><span class=\"p\">(</span><span class=\"n\">primary_key</span><span class=\"o\">=</span><span class=\"kc\">True</span><span class=\"p\">,</span> <span class=\"n\">default</span><span class=\"o\">=</span><span class=\"n\">uuid</span><span class=\"o\">.</span><span class=\"n\">uuid4</span><span class=\"p\">,</span> <span class=\"n\">editable</span><span class=\"o\">=</span><span class=\"kc\">False</span><span class=\"p\">)</span>\n    <span class=\"c1\"># other fields</span>\n</code></pre></div>\n<p>Observera att en callable (med parenteserna utelämnade) skickas till <code class=\"docutils literal notranslate\"><span class=\"pre\">default</span></code>, inte en instans av <code class=\"docutils literal notranslate\"><span class=\"pre\">UUID</span></code>.</p>\n<aside class=\"admonition-lookups-on-postgresql-and-mariadb admonition\">\n<p class=\"admonition-title\">Lookups on PostgreSQL and MariaDB</p>\n<p>Using <a class=\"reference internal\" href=\"/sv/6.1/ref/models/querysets/#std-fieldlookup-iexact\"><code class=\"xref std std-lookup docutils literal notranslate\"><span class=\"pre\">iexact</span></code></a>, <a class=\"reference internal\" href=\"/sv/6.1/ref/models/querysets/#std-fieldlookup-contains\"><code class=\"xref std std-lookup docutils literal notranslate\"><span class=\"pre\">contains</span></code></a>, <a class=\"reference internal\" href=\"/sv/6.1/ref/models/querysets/#std-fieldlookup-icontains\"><code class=\"xref std std-lookup docutils literal notranslate\"><span class=\"pre\">icontains</span></code></a>,\n<a class=\"reference internal\" href=\"/sv/6.1/ref/models/querysets/#std-fieldlookup-startswith\"><code class=\"xref std std-lookup docutils literal notranslate\"><span class=\"pre\">startswith</span></code></a>, <a class=\"reference internal\" href=\"/sv/6.1/ref/models/querysets/#std-fieldlookup-istartswith\"><code class=\"xref std std-lookup docutils literal notranslate\"><span class=\"pre\">istartswith</span></code></a>, <a class=\"reference internal\" href=\"/sv/6.1/ref/models/querysets/#std-fieldlookup-endswith\"><code class=\"xref std std-lookup docutils literal notranslate\"><span class=\"pre\">endswith</span></code></a>, or\n<a class=\"reference internal\" href=\"/sv/6.1/ref/models/querysets/#std-fieldlookup-iendswith\"><code class=\"xref std std-lookup docutils literal notranslate\"><span class=\"pre\">iendswith</span></code></a> lookups on PostgreSQL don’t work for values without\nhyphens, because PostgreSQL and MariaDB store them in a hyphenated uuid\ndatatype type.</p>\n</aside>\n</section>\n</section>\n<section id=\"module-django.db.models.fields.related\">\n<span id=\"id1\"></span><span id=\"relationship-fields\"></span><h2>Relationsfält<a class=\"heading-anchor\" href=\"#module-django.db.models.fields.related\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<p>Django definierar också en uppsättning fält som representerar relationer.</p>\n<section id=\"foreignkey\">\n<span id=\"ref-foreignkey\"></span><h3><code class=\"docutils literal notranslate\"><span class=\"pre\">ForeignKey</span></code><a class=\"heading-anchor\" href=\"#foreignkey\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<dl class=\"py class\">\n<dt class=\"sig sig-object py\" id=\"django.db.models.ForeignKey\">\n<em class=\"property\"><span class=\"k\"><span class=\"pre\">class</span></span><span class=\"w\"> </span></em><span class=\"sig-name descname\"><span class=\"pre\">ForeignKey</span></span><span class=\"sig-paren\">(</span><em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">to</span></span></em>, <em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">on_delete</span></span></em>, <em class=\"sig-param\"><span class=\"o\"><span class=\"pre\">**</span></span><span class=\"n\"><span class=\"pre\">options</span></span></em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.db.models.ForeignKey\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p>En många-till-en-relation. Kräver två positionsargument: den klass som modellen är relaterad till och alternativet <a class=\"reference internal\" href=\"#django.db.models.ForeignKey.on_delete\" title=\"django.db.models.ForeignKey.on_delete\"><code class=\"xref py py-attr docutils literal notranslate\"><span class=\"pre\">on_delete</span></code></a>:</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</span><span class=\"w\"> </span><span class=\"kn\">import</span> <span class=\"n\">models</span>\n\n\n<span class=\"k\">class</span><span class=\"w\"> </span><span class=\"nc\">Manufacturer</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=\"n\">name</span> <span class=\"o\">=</span> <span class=\"n\">models</span><span class=\"o\">.</span><span class=\"n\">TextField</span><span class=\"p\">()</span>\n\n\n<span class=\"k\">class</span><span class=\"w\"> </span><span class=\"nc\">Car</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=\"n\">manufacturer</span> <span class=\"o\">=</span> <span class=\"n\">models</span><span class=\"o\">.</span><span class=\"n\">ForeignKey</span><span class=\"p\">(</span><span class=\"n\">Manufacturer</span><span class=\"p\">,</span> <span class=\"n\">on_delete</span><span class=\"o\">=</span><span class=\"n\">models</span><span class=\"o\">.</span><span class=\"n\">CASCADE</span><span class=\"p\">)</span>\n</code></pre></div>\n<p>Det första positionella argumentet kan vara antingen en konkret modellklass eller en <a class=\"reference internal\" href=\"#lazy-relationships\"><span class=\"std std-ref\">lazy reference</span></a> till en modellklass. <a class=\"reference internal\" href=\"#recursive-relationships\"><span class=\"std std-ref\">Recursive relationships</span></a>, där en modell har en relation med sig själv, stöds också.</p>\n<p>Se <a class=\"reference internal\" href=\"#django.db.models.ForeignKey.on_delete\" title=\"django.db.models.ForeignKey.on_delete\"><code class=\"xref py py-attr docutils literal notranslate\"><span class=\"pre\">ForeignKey.on_delete</span></code></a> för detaljer om det andra positionella argumentet.</p>\n<p>A database index is automatically created on the <code class=\"docutils literal notranslate\"><span class=\"pre\">ForeignKey</span></code>. You can\ndisable this by setting <a class=\"reference internal\" href=\"#django.db.models.Field.db_index\" title=\"django.db.models.Field.db_index\"><code class=\"xref py py-attr docutils literal notranslate\"><span class=\"pre\">db_index</span></code></a> to <code class=\"docutils literal notranslate\"><span class=\"pre\">False</span></code>. You may want to\navoid the overhead of an index if you are creating a foreign key for\nconsistency rather than joins, or if you will be creating an alternative index\nlike a partial or multiple column index.</p>\n<section id=\"database-representation\">\n<h4>Databasrepresentation<a class=\"heading-anchor\" href=\"#database-representation\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h4>\n<p>Bakom kulisserna lägger Django till <code class=\"docutils literal notranslate\"><span class=\"pre\">&quot;_id&quot;</span></code> till fältnamnet för att skapa dess kolumnnamn i databasen. I exemplet ovan kommer databastabellen för modellen <code class=\"docutils literal notranslate\"><span class=\"pre\">Car</span></code> att ha en kolumn med namnet <code class=\"docutils literal notranslate\"><span class=\"pre\">manufacturer_id</span></code>. Du kan ändra detta explicit genom att ange <a class=\"reference internal\" href=\"#django.db.models.Field.db_column\" title=\"django.db.models.Field.db_column\"><code class=\"xref py py-attr docutils literal notranslate\"><span class=\"pre\">db_column</span></code></a>, men din kod ska aldrig behöva hantera databasens kolumnnamn (såvida du inte skriver anpassad SQL). Du kommer alltid att hantera fältnamnen på ditt modellobjekt.</p>\n</section>\n<section id=\"arguments\">\n<span id=\"foreign-key-arguments\"></span><h4>Argument<a class=\"heading-anchor\" href=\"#arguments\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h4>\n<p><a class=\"reference internal\" href=\"#django.db.models.ForeignKey\" title=\"django.db.models.ForeignKey\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">ForeignKey</span></code></a> accepterar andra argument som definierar detaljerna i hur relationen fungerar.</p>\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.db.models.ForeignKey.on_delete\">\n<span class=\"sig-prename descclassname\"><span class=\"pre\">ForeignKey.</span></span><span class=\"sig-name descname\"><span class=\"pre\">on_delete</span></span><a class=\"heading-anchor\" href=\"#django.db.models.ForeignKey.on_delete\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>When an object referenced by a <a class=\"reference internal\" href=\"#django.db.models.ForeignKey\" title=\"django.db.models.ForeignKey\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">ForeignKey</span></code></a> is deleted, the\nreferring objects need updating. The <a class=\"reference internal\" href=\"#django.db.models.ForeignKey.on_delete\" title=\"django.db.models.ForeignKey.on_delete\"><code class=\"xref py py-attr docutils literal notranslate\"><span class=\"pre\">on_delete</span></code></a> argument specifies\nhow this is done, and whether Django or your database makes the updates.\nFor example, if you have a nullable <a class=\"reference internal\" href=\"#django.db.models.ForeignKey\" title=\"django.db.models.ForeignKey\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">ForeignKey</span></code></a> and you want Django\nto set it to <code class=\"docutils literal notranslate\"><span class=\"pre\">None</span></code> when the referenced object is deleted:</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\">user</span> <span class=\"o\">=</span> <span class=\"n\">models</span><span class=\"o\">.</span><span class=\"n\">ForeignKey</span><span class=\"p\">(</span>\n    <span class=\"n\">User</span><span class=\"p\">,</span>\n    <span class=\"n\">models</span><span class=\"o\">.</span><span class=\"n\">SET_NULL</span><span class=\"p\">,</span>\n    <span class=\"n\">blank</span><span class=\"o\">=</span><span class=\"kc\">True</span><span class=\"p\">,</span>\n    <span class=\"n\">null</span><span class=\"o\">=</span><span class=\"kc\">True</span><span class=\"p\">,</span>\n<span class=\"p\">)</span>\n</code></pre></div>\n<p>The possible values for <a class=\"reference internal\" href=\"#django.db.models.ForeignKey.on_delete\" title=\"django.db.models.ForeignKey.on_delete\"><code class=\"xref py py-attr docutils literal notranslate\"><span class=\"pre\">on_delete</span></code></a> are listed below.\nImport them from <a class=\"reference internal\" href=\"/sv/6.1/topics/db/models/#module-django.db.models\" title=\"django.db.models\"><code class=\"xref py py-mod docutils literal notranslate\"><span class=\"pre\">django.db.models</span></code></a>. The <code class=\"docutils literal notranslate\"><span class=\"pre\">DB_*</span></code> variants use the\ndatabase to prevent deletions or update referring objects, whilst the other\nvalues make Django perform the relevant actions.</p>\n<p>The database variants are more efficient because they avoid fetching\nrelated objects, but <code class=\"docutils literal notranslate\"><span class=\"pre\">pre_delete</span></code> and <code class=\"docutils literal notranslate\"><span class=\"pre\">post_delete</span></code> signals won’t be\nsent when <code class=\"docutils literal notranslate\"><span class=\"pre\">DB_CASCADE</span></code> is used.</p>\n<p>The database variants cannot be mixed with Python variants (other than\n<a class=\"reference internal\" href=\"#django.db.models.DO_NOTHING\" title=\"django.db.models.DO_NOTHING\"><code class=\"xref py py-attr docutils literal notranslate\"><span class=\"pre\">DO_NOTHING</span></code></a>) in the same model and in models related to each other.</p>\n</dd></dl>\n\n<aside class=\"version-note version-changed\" data-version=\"6.1\">\n<p class=\"version-note-title\">Changed in Django 6.1</p><p>Support for <code class=\"docutils literal notranslate\"><span class=\"pre\">DB_*</span></code> variants of the <code class=\"docutils literal notranslate\"><span class=\"pre\">on_delete</span></code> attribute was added.</p>\n</aside>\n<p>De möjliga värdena för <a class=\"reference internal\" href=\"#django.db.models.ForeignKey.on_delete\" title=\"django.db.models.ForeignKey.on_delete\"><code class=\"xref py py-attr docutils literal notranslate\"><span class=\"pre\">on_delete</span></code></a> finns i <a class=\"reference internal\" href=\"/sv/6.1/topics/db/models/#module-django.db.models\" title=\"django.db.models\"><code class=\"xref py py-mod docutils literal notranslate\"><span class=\"pre\">django.db.models</span></code></a>:</p>\n<ul>\n<li><dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.db.models.CASCADE\">\n<span class=\"sig-name descname\"><span class=\"pre\">CASCADE</span></span><a class=\"heading-anchor\" href=\"#django.db.models.CASCADE\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Cascade raderar. Django emulerar beteendet hos SQL-begränsningen <code class=\"docutils literal notranslate\"><span class=\"pre\">ON</span> <span class=\"pre\">DELETE</span> <span class=\"pre\">CASCADE</span></code> och raderar även objektet som innehåller <a class=\"reference internal\" href=\"#django.db.models.ForeignKey\" title=\"django.db.models.ForeignKey\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">ForeignKey</span></code></a>.</p>\n<p><a class=\"reference internal\" href=\"/sv/6.1/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\">Model.delete()</span></code></a> anropas inte på relaterade modeller, men signalerna <a class=\"reference internal\" href=\"/sv/6.1/ref/signals/#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> och <a class=\"reference internal\" href=\"/sv/6.1/ref/signals/#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> skickas för alla borttagna objekt.</p>\n</dd></dl>\n\n</li>\n<li><dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.db.models.DB_CASCADE\">\n<span class=\"sig-name descname\"><span class=\"pre\">DB_CASCADE</span></span><a class=\"heading-anchor\" href=\"#django.db.models.DB_CASCADE\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><aside class=\"version-note version-added\" data-version=\"6.1\">\n<p class=\"version-note-title\">New in Django 6.1</p></aside>\n<p>Cascade deletes. Database-level version of <a class=\"reference internal\" href=\"#django.db.models.CASCADE\" title=\"django.db.models.CASCADE\"><code class=\"xref py py-attr docutils literal notranslate\"><span class=\"pre\">CASCADE</span></code></a>: the database\ndeletes referred-to rows and the one containing the <code class=\"docutils literal notranslate\"><span class=\"pre\">ForeignKey</span></code>.</p>\n</dd></dl>\n\n</li>\n<li><dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.db.models.PROTECT\">\n<span class=\"sig-name descname\"><span class=\"pre\">PROTECT</span></span><a class=\"heading-anchor\" href=\"#django.db.models.PROTECT\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Förhindra radering av det refererade objektet genom att skapa <a class=\"reference internal\" href=\"/sv/6.1/ref/exceptions/#django.db.models.ProtectedError\" title=\"django.db.models.ProtectedError\"><code class=\"xref py py-exc docutils literal notranslate\"><span class=\"pre\">ProtectedError</span></code></a>, en underklass av <a class=\"reference internal\" href=\"/sv/6.1/ref/exceptions/#django.db.IntegrityError\" title=\"django.db.IntegrityError\"><code class=\"xref py py-exc docutils literal notranslate\"><span class=\"pre\">django.db.IntegrityError</span></code></a>.</p>\n</dd></dl>\n\n</li>\n<li><dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.db.models.RESTRICT\">\n<span class=\"sig-name descname\"><span class=\"pre\">RESTRICT</span></span><a class=\"heading-anchor\" href=\"#django.db.models.RESTRICT\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Förhindra radering av det refererade objektet genom att skapa <a class=\"reference internal\" href=\"/sv/6.1/ref/exceptions/#django.db.models.RestrictedError\" title=\"django.db.models.RestrictedError\"><code class=\"xref py py-exc docutils literal notranslate\"><span class=\"pre\">RestrictedError</span></code></a> (en underklass av <a class=\"reference internal\" href=\"/sv/6.1/ref/exceptions/#django.db.IntegrityError\" title=\"django.db.IntegrityError\"><code class=\"xref py py-exc docutils literal notranslate\"><span class=\"pre\">django.db.IntegrityError</span></code></a>). Till skillnad från <a class=\"reference internal\" href=\"#django.db.models.PROTECT\" title=\"django.db.models.PROTECT\"><code class=\"xref py py-attr docutils literal notranslate\"><span class=\"pre\">PROTECT</span></code></a> är radering av det refererade objektet tillåtet om det också refererar till ett annat objekt som raderas i samma operation, men via en <a class=\"reference internal\" href=\"#django.db.models.CASCADE\" title=\"django.db.models.CASCADE\"><code class=\"xref py py-attr docutils literal notranslate\"><span class=\"pre\">CASCADE</span></code></a>-relation.</p>\n<p>Tänk på denna uppsättning modeller:</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\">Artist</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=\"n\">name</span> <span class=\"o\">=</span> <span class=\"n\">models</span><span class=\"o\">.</span><span class=\"n\">CharField</span><span class=\"p\">(</span><span class=\"n\">max_length</span><span class=\"o\">=</span><span class=\"mi\">10</span><span class=\"p\">)</span>\n\n\n<span class=\"k\">class</span><span class=\"w\"> </span><span class=\"nc\">Album</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=\"n\">artist</span> <span class=\"o\">=</span> <span class=\"n\">models</span><span class=\"o\">.</span><span class=\"n\">ForeignKey</span><span class=\"p\">(</span><span class=\"n\">Artist</span><span class=\"p\">,</span> <span class=\"n\">on_delete</span><span class=\"o\">=</span><span class=\"n\">models</span><span class=\"o\">.</span><span class=\"n\">CASCADE</span><span class=\"p\">)</span>\n\n\n<span class=\"k\">class</span><span class=\"w\"> </span><span class=\"nc\">Song</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=\"n\">artist</span> <span class=\"o\">=</span> <span class=\"n\">models</span><span class=\"o\">.</span><span class=\"n\">ForeignKey</span><span class=\"p\">(</span><span class=\"n\">Artist</span><span class=\"p\">,</span> <span class=\"n\">on_delete</span><span class=\"o\">=</span><span class=\"n\">models</span><span class=\"o\">.</span><span class=\"n\">CASCADE</span><span class=\"p\">)</span>\n    <span class=\"n\">album</span> <span class=\"o\">=</span> <span class=\"n\">models</span><span class=\"o\">.</span><span class=\"n\">ForeignKey</span><span class=\"p\">(</span><span class=\"n\">Album</span><span class=\"p\">,</span> <span class=\"n\">on_delete</span><span class=\"o\">=</span><span class=\"n\">models</span><span class=\"o\">.</span><span class=\"n\">RESTRICT</span><span class=\"p\">)</span>\n</code></pre></div>\n<p><code class=\"docutils literal notranslate\"><span class=\"pre\">Artist</span></code> kan tas bort även om det innebär att ett <code class=\"docutils literal notranslate\"><span class=\"pre\">Album</span></code> som refereras av en <code class=\"docutils literal notranslate\"><span class=\"pre\">Song</span></code> måste tas bort, eftersom <code class=\"docutils literal notranslate\"><span class=\"pre\">Song</span></code> också refererar till <code class=\"docutils literal notranslate\"><span class=\"pre\">Artist</span></code> själv genom en kaskadrelation. Ett exempel:</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\">artist_one</span> <span class=\"o\">=</span> <span class=\"n\">Artist</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=\"n\">name</span><span class=\"o\">=</span><span class=\"s2\">&quot;artist one&quot;</span><span class=\"p\">)</span>\n<span class=\"gp\">&gt;&gt;&gt; </span><span class=\"n\">artist_two</span> <span class=\"o\">=</span> <span class=\"n\">Artist</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=\"n\">name</span><span class=\"o\">=</span><span class=\"s2\">&quot;artist two&quot;</span><span class=\"p\">)</span>\n<span class=\"gp\">&gt;&gt;&gt; </span><span class=\"n\">album_one</span> <span class=\"o\">=</span> <span class=\"n\">Album</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=\"n\">artist</span><span class=\"o\">=</span><span class=\"n\">artist_one</span><span class=\"p\">)</span>\n<span class=\"gp\">&gt;&gt;&gt; </span><span class=\"n\">album_two</span> <span class=\"o\">=</span> <span class=\"n\">Album</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=\"n\">artist</span><span class=\"o\">=</span><span class=\"n\">artist_two</span><span class=\"p\">)</span>\n<span class=\"gp\">&gt;&gt;&gt; </span><span class=\"n\">song_one</span> <span class=\"o\">=</span> <span class=\"n\">Song</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=\"n\">artist</span><span class=\"o\">=</span><span class=\"n\">artist_one</span><span class=\"p\">,</span> <span class=\"n\">album</span><span class=\"o\">=</span><span class=\"n\">album_one</span><span class=\"p\">)</span>\n<span class=\"gp\">&gt;&gt;&gt; </span><span class=\"n\">song_two</span> <span class=\"o\">=</span> <span class=\"n\">Song</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=\"n\">artist</span><span class=\"o\">=</span><span class=\"n\">artist_one</span><span class=\"p\">,</span> <span class=\"n\">album</span><span class=\"o\">=</span><span class=\"n\">album_two</span><span class=\"p\">)</span>\n<span class=\"gp\">&gt;&gt;&gt; </span><span class=\"n\">album_one</span><span class=\"o\">.</span><span class=\"n\">delete</span><span class=\"p\">()</span>\n<span class=\"go\"># Raises RestrictedError.</span>\n<span class=\"gp\">&gt;&gt;&gt; </span><span class=\"n\">artist_two</span><span class=\"o\">.</span><span class=\"n\">delete</span><span class=\"p\">()</span>\n<span class=\"go\"># Raises RestrictedError.</span>\n<span class=\"gp\">&gt;&gt;&gt; </span><span class=\"n\">artist_one</span><span class=\"o\">.</span><span class=\"n\">delete</span><span class=\"p\">()</span>\n<span class=\"go\">(4, {&#39;Song&#39;: 2, &#39;Album&#39;: 1, &#39;Artist&#39;: 1})</span>\n</code></pre></div>\n</dd></dl>\n\n</li>\n<li><dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.db.models.SET_NULL\">\n<span class=\"sig-name descname\"><span class=\"pre\">SET_NULL</span></span><a class=\"heading-anchor\" href=\"#django.db.models.SET_NULL\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Ställ in <a class=\"reference internal\" href=\"#django.db.models.ForeignKey\" title=\"django.db.models.ForeignKey\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">ForeignKey</span></code></a> null; detta är endast möjligt om <a class=\"reference internal\" href=\"#django.db.models.Field.null\" title=\"django.db.models.Field.null\"><code class=\"xref py py-attr docutils literal notranslate\"><span class=\"pre\">null</span></code></a> är <code class=\"docutils literal notranslate\"><span class=\"pre\">True</span></code>.</p>\n</dd></dl>\n\n</li>\n<li><dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.db.models.DB_SET_NULL\">\n<span class=\"sig-name descname\"><span class=\"pre\">DB_SET_NULL</span></span><a class=\"heading-anchor\" href=\"#django.db.models.DB_SET_NULL\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><aside class=\"version-note version-added\" data-version=\"6.1\">\n<p class=\"version-note-title\">New in Django 6.1</p></aside>\n<p>Set the <a class=\"reference internal\" href=\"#django.db.models.ForeignKey\" title=\"django.db.models.ForeignKey\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">ForeignKey</span></code></a> value to <code class=\"docutils literal notranslate\"><span class=\"pre\">NULL</span></code>. This is only possible if\n<a class=\"reference internal\" href=\"#django.db.models.Field.null\" title=\"django.db.models.Field.null\"><code class=\"xref py py-attr docutils literal notranslate\"><span class=\"pre\">null</span></code></a> is <code class=\"docutils literal notranslate\"><span class=\"pre\">True</span></code>. Database-level version of\n<a class=\"reference internal\" href=\"#django.db.models.SET_NULL\" title=\"django.db.models.SET_NULL\"><code class=\"xref py py-attr docutils literal notranslate\"><span class=\"pre\">SET_NULL</span></code></a>.</p>\n</dd></dl>\n\n</li>\n<li><dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.db.models.SET_DEFAULT\">\n<span class=\"sig-name descname\"><span class=\"pre\">SET_DEFAULT</span></span><a class=\"heading-anchor\" href=\"#django.db.models.SET_DEFAULT\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Sätt <a class=\"reference internal\" href=\"#django.db.models.ForeignKey\" title=\"django.db.models.ForeignKey\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">ForeignKey</span></code></a> till dess standardvärde; en standard för <a class=\"reference internal\" href=\"#django.db.models.ForeignKey\" title=\"django.db.models.ForeignKey\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">ForeignKey</span></code></a> måste anges.</p>\n</dd></dl>\n\n</li>\n<li><dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.db.models.DB_SET_DEFAULT\">\n<span class=\"sig-name descname\"><span class=\"pre\">DB_SET_DEFAULT</span></span><a class=\"heading-anchor\" href=\"#django.db.models.DB_SET_DEFAULT\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><aside class=\"version-note version-added\" data-version=\"6.1\">\n<p class=\"version-note-title\">New in Django 6.1</p></aside>\n<p>Set the <a class=\"reference internal\" href=\"#django.db.models.ForeignKey\" title=\"django.db.models.ForeignKey\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">ForeignKey</span></code></a> value to its <a class=\"reference internal\" href=\"#django.db.models.Field.db_default\" title=\"django.db.models.Field.db_default\"><code class=\"xref py py-attr docutils literal notranslate\"><span class=\"pre\">Field.db_default</span></code></a> value,\nwhich must be set. If a row in the referenced table is deleted, the foreign\nkey values in the referencing table will be updated to their\n<a class=\"reference internal\" href=\"#django.db.models.Field.db_default\" title=\"django.db.models.Field.db_default\"><code class=\"xref py py-attr docutils literal notranslate\"><span class=\"pre\">Field.db_default</span></code></a> values.</p>\n<p><code class=\"docutils literal notranslate\"><span class=\"pre\">DB_SET_DEFAULT</span></code> is not supported on MySQL and MariaDB.</p>\n</dd></dl>\n\n</li>\n<li><dl class=\"py function\">\n<dt class=\"sig sig-object py\" id=\"django.db.models.SET\">\n<span class=\"sig-name descname\"><span class=\"pre\">SET</span></span><span class=\"sig-paren\">(</span><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.db.models.SET\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Set the <a class=\"reference internal\" href=\"#django.db.models.ForeignKey\" title=\"django.db.models.ForeignKey\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">ForeignKey</span></code></a> to the value passed to\n<a class=\"reference internal\" href=\"#django.db.models.SET\" title=\"django.db.models.SET\"><code class=\"xref py py-func docutils literal notranslate\"><span class=\"pre\">SET()</span></code></a>, or if a callable is passed in,\nthe result of calling it. In most cases, passing a callable will be\nnecessary to avoid executing queries at the time your <code class=\"docutils literal notranslate\"><span class=\"pre\">models.py</span></code> is\nimported:</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.conf</span><span class=\"w\"> </span><span class=\"kn\">import</span> <span class=\"n\">settings</span>\n<span class=\"kn\">from</span><span class=\"w\"> </span><span class=\"nn\">django.contrib.auth</span><span class=\"w\"> </span><span class=\"kn\">import</span> <span class=\"n\">get_user_model</span>\n<span class=\"kn\">from</span><span class=\"w\"> </span><span class=\"nn\">django.db</span><span class=\"w\"> </span><span class=\"kn\">import</span> <span class=\"n\">models</span>\n\n\n<span class=\"k\">def</span><span class=\"w\"> </span><span class=\"nf\">get_sentinel_user</span><span class=\"p\">():</span>\n    <span class=\"k\">return</span> <span class=\"n\">get_user_model</span><span class=\"p\">()</span><span class=\"o\">.</span><span class=\"n\">objects</span><span class=\"o\">.</span><span class=\"n\">get_or_create</span><span class=\"p\">(</span><span class=\"n\">username</span><span class=\"o\">=</span><span class=\"s2\">&quot;deleted&quot;</span><span class=\"p\">)[</span><span class=\"mi\">0</span><span class=\"p\">]</span>\n\n\n<span class=\"k\">class</span><span class=\"w\"> </span><span class=\"nc\">MyModel</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=\"n\">user</span> <span class=\"o\">=</span> <span class=\"n\">models</span><span class=\"o\">.</span><span class=\"n\">ForeignKey</span><span class=\"p\">(</span>\n        <span class=\"n\">settings</span><span class=\"o\">.</span><span class=\"n\">AUTH_USER_MODEL</span><span class=\"p\">,</span>\n        <span class=\"n\">on_delete</span><span class=\"o\">=</span><span class=\"n\">models</span><span class=\"o\">.</span><span class=\"n\">SET</span><span class=\"p\">(</span><span class=\"n\">get_sentinel_user</span><span class=\"p\">),</span>\n    <span class=\"p\">)</span>\n</code></pre></div>\n</dd></dl>\n\n</li>\n<li><dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.db.models.DO_NOTHING\">\n<span class=\"sig-name descname\"><span class=\"pre\">DO_NOTHING</span></span><a class=\"heading-anchor\" href=\"#django.db.models.DO_NOTHING\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Vidta inga åtgärder. Om din databas backend tillämpar referentiell integritet kommer detta att orsaka en <a class=\"reference internal\" href=\"/sv/6.1/ref/exceptions/#django.db.IntegrityError\" title=\"django.db.IntegrityError\"><code class=\"xref py py-exc docutils literal notranslate\"><span class=\"pre\">IntegrityError</span></code></a> om du inte manuellt lägger till en SQL <code class=\"docutils literal notranslate\"><span class=\"pre\">ON</span> <span class=\"pre\">DELETE</span></code> begränsning till databasfältet.</p>\n</dd></dl>\n\n</li>\n</ul>\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.db.models.ForeignKey.limit_choices_to\">\n<span class=\"sig-prename descclassname\"><span class=\"pre\">ForeignKey.</span></span><span class=\"sig-name descname\"><span class=\"pre\">limit_choices_to</span></span><a class=\"heading-anchor\" href=\"#django.db.models.ForeignKey.limit_choices_to\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Ställer in en gräns för de tillgängliga valen för detta fält när fältet återges med hjälp av en <code class=\"docutils literal notranslate\"><span class=\"pre\">ModelForm</span></code> eller administratören (som standard är alla objekt i frågeuppsättningen tillgängliga att välja). Antingen en ordbok, ett <a class=\"reference internal\" href=\"/sv/6.1/ref/models/querysets/#django.db.models.Q\" title=\"django.db.models.Q\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">Q</span></code></a>-objekt eller en callable som returnerar en ordbok eller ett <a class=\"reference internal\" href=\"/sv/6.1/ref/models/querysets/#django.db.models.Q\" title=\"django.db.models.Q\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">Q</span></code></a>-objekt kan användas.</p>\n<p>Till exempel:</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\">staff_member</span> <span class=\"o\">=</span> <span class=\"n\">models</span><span class=\"o\">.</span><span class=\"n\">ForeignKey</span><span class=\"p\">(</span>\n    <span class=\"n\">User</span><span class=\"p\">,</span>\n    <span class=\"n\">on_delete</span><span class=\"o\">=</span><span class=\"n\">models</span><span class=\"o\">.</span><span class=\"n\">CASCADE</span><span class=\"p\">,</span>\n    <span class=\"n\">limit_choices_to</span><span class=\"o\">=</span><span class=\"p\">{</span><span class=\"s2\">&quot;is_staff&quot;</span><span class=\"p\">:</span> <span class=\"kc\">True</span><span class=\"p\">},</span>\n<span class=\"p\">)</span>\n</code></pre></div>\n<p>gör att motsvarande fält på <code class=\"docutils literal notranslate\"><span class=\"pre\">ModelForm</span></code> endast listar <code class=\"docutils literal notranslate\"><span class=\"pre\">User</span></code>-instanser som har <code class=\"docutils literal notranslate\"><span class=\"pre\">is_staff=True</span></code>. Detta kan vara till hjälp i Django admin.</p>\n<p>Den anropsbara formen kan vara till hjälp, till exempel när den används tillsammans med Python-modulen <code class=\"docutils literal notranslate\"><span class=\"pre\">datetime</span></code> för att begränsa urval efter datumintervall. Till exempel:</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\">def</span><span class=\"w\"> </span><span class=\"nf\">limit_pub_date_choices</span><span class=\"p\">():</span>\n    <span class=\"k\">return</span> <span class=\"p\">{</span><span class=\"s2\">&quot;pub_date__lte&quot;</span><span class=\"p\">:</span> <span class=\"n\">datetime</span><span class=\"o\">.</span><span class=\"n\">date</span><span class=\"o\">.</span><span class=\"n\">today</span><span class=\"p\">()}</span>\n\n\n<span class=\"n\">limit_choices_to</span> <span class=\"o\">=</span> <span class=\"n\">limit_pub_date_choices</span>\n</code></pre></div>\n<p>Om <code class=\"docutils literal notranslate\"><span class=\"pre\">limit_choices_to</span></code> är eller returnerar ett <a class=\"reference internal\" href=\"/sv/6.1/ref/models/querysets/#django.db.models.Q\" title=\"django.db.models.Q\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">Q-objekt</span></code></a>, vilket är användbart för <a class=\"reference internal\" href=\"/sv/6.1/topics/db/queries/#complex-lookups-with-q\"><span class=\"std std-ref\">komplexa frågor</span></a>, så kommer det bara att ha en effekt på de val som finns tillgängliga i admin när fältet inte är listat i <a class=\"reference internal\" href=\"/sv/6.1/ref/contrib/admin/#django.contrib.admin.ModelAdmin.raw_id_fields\" title=\"django.contrib.admin.ModelAdmin.raw_id_fields\"><code class=\"xref py py-attr docutils literal notranslate\"><span class=\"pre\">raw_id_fields</span></code></a> i <code class=\"docutils literal notranslate\"><span class=\"pre\">ModelAdmin</span></code> för modellen.</p>\n<aside class=\"admonition admonition-note\" role=\"note\">\n<p class=\"admonition-title\">Observera</p>\n<p>Om en callable används för <code class=\"docutils literal notranslate\"><span class=\"pre\">limit_choices_to</span></code> kommer den att anropas varje gång ett nytt formulär instansieras. Den kan också anropas när en modell valideras, t.ex. av hanteringskommandon eller administratören. Administratören konstruerar querysets för att validera sina formulärinmatningar i olika kantfall flera gånger, så det finns en möjlighet att din callable kan anropas flera gånger.</p>\n</aside>\n</dd></dl>\n\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.db.models.ForeignKey.related_name\">\n<span class=\"sig-prename descclassname\"><span class=\"pre\">ForeignKey.</span></span><span class=\"sig-name descname\"><span class=\"pre\">related_name</span></span><a class=\"heading-anchor\" href=\"#django.db.models.ForeignKey.related_name\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Det namn som ska användas för relationen från det relaterade objektet tillbaka till detta. Det är också standardvärdet för <a class=\"reference internal\" href=\"#django.db.models.ForeignKey.related_query_name\" title=\"django.db.models.ForeignKey.related_query_name\"><code class=\"xref py py-attr docutils literal notranslate\"><span class=\"pre\">related_query_name</span></code></a> (det namn som ska användas för det omvända filternamnet från målmodellen). Se <a class=\"reference internal\" href=\"/sv/6.1/topics/db/queries/#backwards-related-objects\"><span class=\"std std-ref\">related objects documentation</span></a> för en fullständig förklaring och exempel. Observera att du måste ange detta värde när du definierar relationer på <a class=\"reference internal\" href=\"/sv/6.1/topics/db/models/#abstract-base-classes\"><span class=\"std std-ref\">abstrakta modeller</span></a>; och när du gör det <a class=\"reference internal\" href=\"/sv/6.1/topics/db/models/#abstract-related-name\"><span class=\"std std-ref\">finns viss speciell syntax</span></a> tillgänglig.</p>\n<p>Om du föredrar att Django inte skapar en bakåtriktad relation, sätt <code class=\"docutils literal notranslate\"><span class=\"pre\">related_name</span></code> till <code class=\"docutils literal notranslate\"><span class=\"pre\">'+'</span></code> eller avsluta det med <code class=\"docutils literal notranslate\"><span class=\"pre\">'+'</span></code>. Till exempel: kommer detta att säkerställa att modellen <code class=\"docutils literal notranslate\"><span class=\"pre\">User</span></code> inte kommer att ha en bakåtriktad relation till denna modell:</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\">user</span> <span class=\"o\">=</span> <span class=\"n\">models</span><span class=\"o\">.</span><span class=\"n\">ForeignKey</span><span class=\"p\">(</span>\n    <span class=\"n\">User</span><span class=\"p\">,</span>\n    <span class=\"n\">on_delete</span><span class=\"o\">=</span><span class=\"n\">models</span><span class=\"o\">.</span><span class=\"n\">CASCADE</span><span class=\"p\">,</span>\n    <span class=\"n\">related_name</span><span class=\"o\">=</span><span class=\"s2\">&quot;+&quot;</span><span class=\"p\">,</span>\n<span class=\"p\">)</span>\n</code></pre></div>\n</dd></dl>\n\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.db.models.ForeignKey.related_query_name\">\n<span class=\"sig-prename descclassname\"><span class=\"pre\">ForeignKey.</span></span><span class=\"sig-name descname\"><span class=\"pre\">related_query_name</span></span><a class=\"heading-anchor\" href=\"#django.db.models.ForeignKey.related_query_name\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Namnet som ska användas för det omvända filternamnet från målmodellen. Det är standardvärdet för <a class=\"reference internal\" href=\"#django.db.models.ForeignKey.related_name\" title=\"django.db.models.ForeignKey.related_name\"><code class=\"xref py py-attr docutils literal notranslate\"><span class=\"pre\">related_name</span></code></a> eller <a class=\"reference internal\" href=\"/sv/6.1/ref/models/options/#django.db.models.Options.default_related_name\" title=\"django.db.models.Options.default_related_name\"><code class=\"xref py py-attr docutils literal notranslate\"><span class=\"pre\">default_related_name</span></code></a> om det är inställt, annars är det standardvärdet för namnet på modellen:</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=\"c1\"># Declare the ForeignKey with related_query_name</span>\n<span class=\"k\">class</span><span class=\"w\"> </span><span class=\"nc\">Tag</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=\"n\">article</span> <span class=\"o\">=</span> <span class=\"n\">models</span><span class=\"o\">.</span><span class=\"n\">ForeignKey</span><span class=\"p\">(</span>\n        <span class=\"n\">Article</span><span class=\"p\">,</span>\n        <span class=\"n\">on_delete</span><span class=\"o\">=</span><span class=\"n\">models</span><span class=\"o\">.</span><span class=\"n\">CASCADE</span><span class=\"p\">,</span>\n        <span class=\"n\">related_name</span><span class=\"o\">=</span><span class=\"s2\">&quot;tags&quot;</span><span class=\"p\">,</span>\n        <span class=\"n\">related_query_name</span><span class=\"o\">=</span><span class=\"s2\">&quot;tag&quot;</span><span class=\"p\">,</span>\n    <span class=\"p\">)</span>\n    <span class=\"n\">name</span> <span class=\"o\">=</span> <span class=\"n\">models</span><span class=\"o\">.</span><span class=\"n\">CharField</span><span class=\"p\">(</span><span class=\"n\">max_length</span><span class=\"o\">=</span><span class=\"mi\">255</span><span class=\"p\">)</span>\n\n\n<span class=\"c1\"># That&#39;s now the name of the reverse filter</span>\n<span class=\"n\">Article</span><span class=\"o\">.</span><span class=\"n\">objects</span><span class=\"o\">.</span><span class=\"n\">filter</span><span class=\"p\">(</span><span class=\"n\">tag__name</span><span class=\"o\">=</span><span class=\"s2\">&quot;important&quot;</span><span class=\"p\">)</span>\n</code></pre></div>\n<p>Precis som <a class=\"reference internal\" href=\"#django.db.models.ForeignKey.related_name\" title=\"django.db.models.ForeignKey.related_name\"><code class=\"xref py py-attr docutils literal notranslate\"><span class=\"pre\">related_name</span></code></a> stöder <code class=\"docutils literal notranslate\"><span class=\"pre\">related_query_name</span></code> interpolering av appetiketter och klasser via <a class=\"reference internal\" href=\"/sv/6.1/topics/db/models/#abstract-related-name\"><span class=\"std std-ref\">en speciell syntax</span></a>.</p>\n</dd></dl>\n\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.db.models.ForeignKey.to_field\">\n<span class=\"sig-prename descclassname\"><span class=\"pre\">ForeignKey.</span></span><span class=\"sig-name descname\"><span class=\"pre\">to_field</span></span><a class=\"heading-anchor\" href=\"#django.db.models.ForeignKey.to_field\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Det fält på det relaterade objektet som relationen är till. Som standard använder Django primärnyckeln för det relaterade objektet. Om du refererar till ett annat fält måste det fältet ha <code class=\"docutils literal notranslate\"><span class=\"pre\">unique=True</span></code>.</p>\n</dd></dl>\n\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.db.models.ForeignKey.db_constraint\">\n<span class=\"sig-prename descclassname\"><span class=\"pre\">ForeignKey.</span></span><span class=\"sig-name descname\"><span class=\"pre\">db_constraint</span></span><a class=\"heading-anchor\" href=\"#django.db.models.ForeignKey.db_constraint\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Styr om en begränsning ska skapas i databasen för den här främmande nyckeln eller inte. Standardvärdet är <code class=\"docutils literal notranslate\"><span class=\"pre\">True</span></code>, och det är nästan säkert vad du vill ha; att ställa in detta på <code class=\"docutils literal notranslate\"><span class=\"pre\">False</span></code> kan vara mycket dåligt för dataintegriteten. Som sagt, här är några scenarier där du kanske vill göra detta:</p>\n<ul class=\"simple\">\n<li><p>Du har äldre data som inte är giltiga.</p></li>\n<li><p>Du shardar din databas.</p></li>\n</ul>\n<p>Om detta är inställt på <code class=\"docutils literal notranslate\"><span class=\"pre\">False</span></code> kommer åtkomst till ett relaterat objekt som inte finns att ge upphov till dess <code class=\"docutils literal notranslate\"><span class=\"pre\">DoesNotExist</span></code> undantag.</p>\n</dd></dl>\n\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.db.models.ForeignKey.swappable\">\n<span class=\"sig-prename descclassname\"><span class=\"pre\">ForeignKey.</span></span><span class=\"sig-name descname\"><span class=\"pre\">swappable</span></span><a class=\"heading-anchor\" href=\"#django.db.models.ForeignKey.swappable\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Styr migreringsramverkets reaktion om denna <a class=\"reference internal\" href=\"#django.db.models.ForeignKey\" title=\"django.db.models.ForeignKey\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">ForeignKey</span></code></a> pekar på en utbytbar modell. Om det är <code class=\"docutils literal notranslate\"><span class=\"pre\">True</span></code> - standard - och om <a class=\"reference internal\" href=\"#django.db.models.ForeignKey\" title=\"django.db.models.ForeignKey\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">ForeignKey</span></code></a> pekar på en modell som matchar det aktuella värdet för <code class=\"docutils literal notranslate\"><span class=\"pre\">settings.AUTH_USER_MODEL</span></code> (eller en annan inställning för en utbytbar modell) kommer relationen att lagras i migreringen med en referens till inställningen, inte direkt till modellen.</p>\n<p>Du vill bara åsidosätta detta till ”False” om du är säker på att din modell alltid ska peka mot den inbytta modellen - till exempel om det är en profilmodell som är utformad specifikt för din anpassade användarmodell.</p>\n<p>Att ställa in den på <code class=\"docutils literal notranslate\"><span class=\"pre\">False</span></code> betyder inte att du kan referera till en utbytbar modell även om den byts ut - <code class=\"docutils literal notranslate\"><span class=\"pre\">False</span></code> betyder att migrationerna som görs med denna <a class=\"reference internal\" href=\"#django.db.models.ForeignKey\" title=\"django.db.models.ForeignKey\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">ForeignKey</span></code></a> alltid kommer att referera till exakt den modell du anger (så det kommer att misslyckas om användaren försöker köra med en <code class=\"docutils literal notranslate\"><span class=\"pre\">User</span></code>-modell som du inte stöder, till exempel).</p>\n<p>Om du är osäker, låt den vara inställd på standardvärdet <code class=\"docutils literal notranslate\"><span class=\"pre\">True</span></code>.</p>\n</dd></dl>\n\n</section>\n</section>\n<section id=\"manytomanyfield\">\n<h3><code class=\"docutils literal notranslate\"><span class=\"pre\">ManyToManyField</span></code><a class=\"heading-anchor\" href=\"#manytomanyfield\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<dl class=\"py class\">\n<dt class=\"sig sig-object py\" id=\"django.db.models.ManyToManyField\">\n<em class=\"property\"><span class=\"k\"><span class=\"pre\">class</span></span><span class=\"w\"> </span></em><span class=\"sig-name descname\"><span class=\"pre\">ManyToManyField</span></span><span class=\"sig-paren\">(</span><em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">to</span></span></em>, <em class=\"sig-param\"><span class=\"o\"><span class=\"pre\">**</span></span><span class=\"n\"><span class=\"pre\">options</span></span></em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.db.models.ManyToManyField\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p>En relation mellan många och många. Kräver ett positionellt argument: den klass som modellen är relaterad till, vilket fungerar exakt som för <a class=\"reference internal\" href=\"#django.db.models.ForeignKey\" title=\"django.db.models.ForeignKey\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">ForeignKey</span></code></a>, inklusive <a class=\"reference internal\" href=\"#recursive-relationships\"><span class=\"std std-ref\">recursive</span></a> och <a class=\"reference internal\" href=\"#lazy-relationships\"><span class=\"std std-ref\">lazy</span></a> relationer.</p>\n<p>Relaterade objekt kan läggas till, tas bort eller skapas med fältets <a class=\"reference internal\" href=\"/sv/6.1/ref/models/relations/#django.db.models.fields.related.RelatedManager\" title=\"django.db.models.fields.related.RelatedManager\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">RelatedManager</span></code></a>.</p>\n<section id=\"id2\">\n<h4>Databasrepresentation<a class=\"heading-anchor\" href=\"#id2\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h4>\n<p>Bakom kulisserna skapar Django en mellanliggande join-tabell för att representera förhållandet många-till-många. Som standard genereras detta tabellnamn med hjälp av namnet på many-to-many-fältet och namnet på tabellen för den modell som innehåller det. Eftersom vissa databaser inte stöder tabellnamn över en viss längd kommer dessa tabellnamn att trunkeras automatiskt och en unik hash kommer att användas, t.ex. <code class=\"docutils literal notranslate\"><span class=\"pre\">author_books_9cdf</span></code>. Du kan manuellt ange namnet på join-tabellen med hjälp av alternativet <a class=\"reference internal\" href=\"#django.db.models.ManyToManyField.db_table\" title=\"django.db.models.ManyToManyField.db_table\"><code class=\"xref py py-attr docutils literal notranslate\"><span class=\"pre\">db_table</span></code></a>.</p>\n</section>\n<section id=\"manytomany-arguments\">\n<span id=\"id3\"></span><h4>Argument<a class=\"heading-anchor\" href=\"#manytomany-arguments\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h4>\n<p><a class=\"reference internal\" href=\"#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> accepterar en extra uppsättning argument - alla valfria - som styr hur relationen fungerar.</p>\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.db.models.ManyToManyField.related_name\">\n<span class=\"sig-prename descclassname\"><span class=\"pre\">ManyToManyField.</span></span><span class=\"sig-name descname\"><span class=\"pre\">related_name</span></span><a class=\"heading-anchor\" href=\"#django.db.models.ManyToManyField.related_name\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Samma som <a class=\"reference internal\" href=\"#django.db.models.ForeignKey.related_name\" title=\"django.db.models.ForeignKey.related_name\"><code class=\"xref py py-attr docutils literal notranslate\"><span class=\"pre\">ForeignKey.related_name</span></code></a>.</p>\n</dd></dl>\n\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.db.models.ManyToManyField.related_query_name\">\n<span class=\"sig-prename descclassname\"><span class=\"pre\">ManyToManyField.</span></span><span class=\"sig-name descname\"><span class=\"pre\">related_query_name</span></span><a class=\"heading-anchor\" href=\"#django.db.models.ManyToManyField.related_query_name\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Samma som <a class=\"reference internal\" href=\"#django.db.models.ForeignKey.related_query_name\" title=\"django.db.models.ForeignKey.related_query_name\"><code class=\"xref py py-attr docutils literal notranslate\"><span class=\"pre\">ForeignKey.related_query_name</span></code></a>.</p>\n</dd></dl>\n\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.db.models.ManyToManyField.limit_choices_to\">\n<span class=\"sig-prename descclassname\"><span class=\"pre\">ManyToManyField.</span></span><span class=\"sig-name descname\"><span class=\"pre\">limit_choices_to</span></span><a class=\"heading-anchor\" href=\"#django.db.models.ManyToManyField.limit_choices_to\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Samma som <a class=\"reference internal\" href=\"#django.db.models.ForeignKey.limit_choices_to\" title=\"django.db.models.ForeignKey.limit_choices_to\"><code class=\"xref py py-attr docutils literal notranslate\"><span class=\"pre\">ForeignKey.limit_choices_to</span></code></a>.</p>\n</dd></dl>\n\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.db.models.ManyToManyField.symmetrical\">\n<span class=\"sig-prename descclassname\"><span class=\"pre\">ManyToManyField.</span></span><span class=\"sig-name descname\"><span class=\"pre\">symmetrical</span></span><a class=\"heading-anchor\" href=\"#django.db.models.ManyToManyField.symmetrical\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Används endast i definitionen av ManyToManyFields på self. Tänk på följande modell:</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</span><span class=\"w\"> </span><span class=\"kn\">import</span> <span class=\"n\">models</span>\n\n\n<span class=\"k\">class</span><span class=\"w\"> </span><span class=\"nc\">Person</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=\"n\">friends</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=\"s2\">&quot;self&quot;</span><span class=\"p\">)</span>\n</code></pre></div>\n<p>När Django bearbetar den här modellen identifierar den att den har en <a class=\"reference internal\" href=\"#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> på sig själv, och som ett resultat lägger den inte till ett <code class=\"docutils literal notranslate\"><span class=\"pre\">person_set</span></code>-attribut till <code class=\"docutils literal notranslate\"><span class=\"pre\">Person</span></code>-klassen. Istället antas <a class=\"reference internal\" href=\"#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> vara symmetrisk - det vill säga, om jag är din vän, då är du min vän.</p>\n<p>Om du inte vill ha symmetri i många-till-många-relationer med <code class=\"docutils literal notranslate\"><span class=\"pre\">själv</span></code>, sätt <a class=\"reference internal\" href=\"#django.db.models.ManyToManyField.symmetrical\" title=\"django.db.models.ManyToManyField.symmetrical\"><code class=\"xref py py-attr docutils literal notranslate\"><span class=\"pre\">symmetrical</span></code></a> till <code class=\"docutils literal notranslate\"><span class=\"pre\">False</span></code>. Detta kommer att tvinga Django att lägga till beskrivningen för den omvända relationen, vilket gör att <a class=\"reference internal\" href=\"#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>-relationer kan vara icke-symmetriska.</p>\n</dd></dl>\n\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.db.models.ManyToManyField.through\">\n<span class=\"sig-prename descclassname\"><span class=\"pre\">ManyToManyField.</span></span><span class=\"sig-name descname\"><span class=\"pre\">through</span></span><a class=\"heading-anchor\" href=\"#django.db.models.ManyToManyField.through\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Django kommer automatiskt att generera en tabell för att hantera många-till-många-relationer. Men om du vill ange den mellanliggande tabellen manuellt kan du använda alternativet <a class=\"reference internal\" href=\"#django.db.models.ManyToManyField.through\" title=\"django.db.models.ManyToManyField.through\"><code class=\"xref py py-attr docutils literal notranslate\"><span class=\"pre\">through</span></code></a> för att ange den Django-modell som representerar den mellanliggande tabell som du vill använda.</p>\n<p>En <code class=\"docutils literal notranslate\"><span class=\"pre\">genom</span></code>-modell kan specificeras antingen med hjälp av modellklassen direkt eller med en <a class=\"reference internal\" href=\"#lazy-relationships\"><span class=\"std std-ref\">lazy reference</span></a> till modellklassen.</p>\n<p>Den vanligaste användningen av detta alternativ är när du vill associera <a class=\"reference internal\" href=\"/sv/6.1/topics/db/models/#intermediary-manytomany\"><span class=\"std std-ref\">extra data med en många-till-många-relation</span></a>.</p>\n<aside class=\"admonition admonition-note\" role=\"note\">\n<p class=\"admonition-title\">Observera</p>\n<p>Rekursiva relationer som använder en mellanliggande modell kan inte bestämma de omvända accessorernas namn, eftersom de skulle vara desamma. Du måste ställa in en <a class=\"reference internal\" href=\"#django.db.models.ForeignKey.related_name\" title=\"django.db.models.ForeignKey.related_name\"><code class=\"xref py py-attr docutils literal notranslate\"><span class=\"pre\">related_name</span></code></a> till minst en av dem. Om du föredrar att Django inte skapar en baklängesrelation, sätt <code class=\"docutils literal notranslate\"><span class=\"pre\">related_name</span></code> till <code class=\"docutils literal notranslate\"><span class=\"pre\">'+'</span></code>.</p>\n</aside>\n<aside class=\"admonition-foreign-key-order-in-intermediary-models admonition\">\n<p class=\"admonition-title\">Ordning på främmande nycklar i intermediära modeller</p>\n<p>När du definierar en asymmetrisk many-to-many-relation från en modell till sig själv med hjälp av en mellanliggande modell utan att definiera <a class=\"reference internal\" href=\"#django.db.models.ManyToManyField.through_fields\" title=\"django.db.models.ManyToManyField.through_fields\"><code class=\"xref py py-attr docutils literal notranslate\"><span class=\"pre\">through_fields</span></code></a>, kommer den första främmande nyckeln i den mellanliggande modellen att behandlas som att den representerar källsidan av <code class=\"docutils literal notranslate\"><span class=\"pre\">ManyToManyField</span></code>, och den andra som målsidan. Till exempel:</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</span><span class=\"w\"> </span><span class=\"kn\">import</span> <span class=\"n\">models</span>\n\n\n<span class=\"k\">class</span><span class=\"w\"> </span><span class=\"nc\">Manufacturer</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=\"n\">name</span> <span class=\"o\">=</span> <span class=\"n\">models</span><span class=\"o\">.</span><span class=\"n\">CharField</span><span class=\"p\">(</span><span class=\"n\">max_length</span><span class=\"o\">=</span><span class=\"mi\">255</span><span class=\"p\">)</span>\n    <span class=\"n\">clients</span> <span class=\"o\">=</span> <span class=\"n\">models</span><span class=\"o\">.</span><span class=\"n\">ManyToManyField</span><span class=\"p\">(</span>\n        <span class=\"s2\">&quot;self&quot;</span><span class=\"p\">,</span> <span class=\"n\">symmetrical</span><span class=\"o\">=</span><span class=\"kc\">False</span><span class=\"p\">,</span> <span class=\"n\">related_name</span><span class=\"o\">=</span><span class=\"s2\">&quot;suppliers&quot;</span><span class=\"p\">,</span> <span class=\"n\">through</span><span class=\"o\">=</span><span class=\"s2\">&quot;Supply&quot;</span>\n    <span class=\"p\">)</span>\n\n\n<span class=\"k\">class</span><span class=\"w\"> </span><span class=\"nc\">Supply</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=\"n\">supplier</span> <span class=\"o\">=</span> <span class=\"n\">models</span><span class=\"o\">.</span><span class=\"n\">ForeignKey</span><span class=\"p\">(</span>\n        <span class=\"n\">Manufacturer</span><span class=\"p\">,</span> <span class=\"n\">models</span><span class=\"o\">.</span><span class=\"n\">CASCADE</span><span class=\"p\">,</span> <span class=\"n\">related_name</span><span class=\"o\">=</span><span class=\"s2\">&quot;supplies_given&quot;</span>\n    <span class=\"p\">)</span>\n    <span class=\"n\">client</span> <span class=\"o\">=</span> <span class=\"n\">models</span><span class=\"o\">.</span><span class=\"n\">ForeignKey</span><span class=\"p\">(</span>\n        <span class=\"n\">Manufacturer</span><span class=\"p\">,</span> <span class=\"n\">models</span><span class=\"o\">.</span><span class=\"n\">CASCADE</span><span class=\"p\">,</span> <span class=\"n\">related_name</span><span class=\"o\">=</span><span class=\"s2\">&quot;supplies_received&quot;</span>\n    <span class=\"p\">)</span>\n    <span class=\"n\">product</span> <span class=\"o\">=</span> <span class=\"n\">models</span><span class=\"o\">.</span><span class=\"n\">CharField</span><span class=\"p\">(</span><span class=\"n\">max_length</span><span class=\"o\">=</span><span class=\"mi\">255</span><span class=\"p\">)</span>\n</code></pre></div>\n<p>Här definierar modellen <code class=\"docutils literal notranslate\"><span class=\"pre\">Manufacturer</span></code> många-till-många-relationen med <code class=\"docutils literal notranslate\"><span class=\"pre\">clients</span></code> i sin roll som leverantör. Därför måste <code class=\"docutils literal notranslate\"><span class=\"pre\">leverantörens</span></code> främmande nyckel (källan) komma före <code class=\"docutils literal notranslate\"><span class=\"pre\">klientens</span></code> främmande nyckel (målet) i den mellanliggande <code class=\"docutils literal notranslate\"><span class=\"pre\">Supply</span></code>-modellen.</p>\n<p>Om du anger <a class=\"reference internal\" href=\"#django.db.models.ManyToManyField.through_fields\" title=\"django.db.models.ManyToManyField.through_fields\"><code class=\"xref py py-attr docutils literal notranslate\"><span class=\"pre\">through_fields=(&quot;supplier&quot;,</span> <span class=\"pre\">&quot;client&quot;)</span></code></a> på <code class=\"docutils literal notranslate\"><span class=\"pre\">ManyToManyField</span></code> blir ordningen på främmande nycklar i <code class=\"docutils literal notranslate\"><span class=\"pre\">through</span></code>-modellen irrelevant.</p>\n</aside>\n<p>Om du inte anger en explicit <code class=\"docutils literal notranslate\"><span class=\"pre\">through</span></code>-modell finns det fortfarande en implicit <code class=\"docutils literal notranslate\"><span class=\"pre\">through</span></code>-modellklass som du kan använda för att få direkt åtkomst till den tabell som skapats för att innehålla associationen. Den har tre fält för att länka modellerna, en primärnyckel och två främmande nycklar. Det finns en unik begränsning på de två främmande nycklarna.</p>\n<p>Om käll- och målmodellerna skiljer sig åt genereras följande fält:</p>\n<ul class=\"simple\">\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">id</span></code>: relationens primärnyckel.</p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">&lt;containing_model&gt;_id</span></code>: <code class=\"docutils literal notranslate\"><span class=\"pre\">id</span></code> för den modell som deklarerar <code class=\"docutils literal notranslate\"><span class=\"pre\">ManyToManyField</span></code>.</p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">&lt;other_model&gt;_id</span></code>: <code class=\"docutils literal notranslate\"><span class=\"pre\">id</span></code> för den modell som <code class=\"docutils literal notranslate\"><span class=\"pre\">ManyToManyField</span></code> pekar på.</p></li>\n</ul>\n<p>Om <code class=\"docutils literal notranslate\"><span class=\"pre\">ManyToManyField</span></code> pekar från och till samma modell, genereras följande fält:</p>\n<ul class=\"simple\">\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">id</span></code>: relationens primärnyckel.</p></li>\n<li><p>from_&lt;model&gt;_id``: id för den instans som pekar på modellen (dvs. källinstansen).</p></li>\n<li><p>to&lt;model&gt;_id``: id för den instans som relationen pekar på (dvs. målmodellinstansen).</p></li>\n</ul>\n<p>Denna klass kan användas för att fråga efter associerade poster för en viss modellinstans som en vanlig modell:</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\">Model</span><span class=\"o\">.</span><span class=\"n\">m2mfield</span><span class=\"o\">.</span><span class=\"n\">through</span><span class=\"o\">.</span><span class=\"n\">objects</span><span class=\"o\">.</span><span class=\"n\">all</span><span class=\"p\">()</span>\n</code></pre></div>\n</dd></dl>\n\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.db.models.ManyToManyField.through_fields\">\n<span class=\"sig-prename descclassname\"><span class=\"pre\">ManyToManyField.</span></span><span class=\"sig-name descname\"><span class=\"pre\">through_fields</span></span><a class=\"heading-anchor\" href=\"#django.db.models.ManyToManyField.through_fields\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Används endast när en anpassad mellanliggande modell anges. Django kommer normalt att avgöra vilka fält i den mellanliggande modellen som ska användas för att automatiskt upprätta en många-till-många-relation. Tänk dock på följande modeller:</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</span><span class=\"w\"> </span><span class=\"kn\">import</span> <span class=\"n\">models</span>\n\n\n<span class=\"k\">class</span><span class=\"w\"> </span><span class=\"nc\">Person</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=\"n\">name</span> <span class=\"o\">=</span> <span class=\"n\">models</span><span class=\"o\">.</span><span class=\"n\">CharField</span><span class=\"p\">(</span><span class=\"n\">max_length</span><span class=\"o\">=</span><span class=\"mi\">50</span><span class=\"p\">)</span>\n\n\n<span class=\"k\">class</span><span class=\"w\"> </span><span class=\"nc\">Group</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=\"n\">name</span> <span class=\"o\">=</span> <span class=\"n\">models</span><span class=\"o\">.</span><span class=\"n\">CharField</span><span class=\"p\">(</span><span class=\"n\">max_length</span><span class=\"o\">=</span><span class=\"mi\">128</span><span class=\"p\">)</span>\n    <span class=\"n\">members</span> <span class=\"o\">=</span> <span class=\"n\">models</span><span class=\"o\">.</span><span class=\"n\">ManyToManyField</span><span class=\"p\">(</span>\n        <span class=\"n\">Person</span><span class=\"p\">,</span>\n        <span class=\"n\">through</span><span class=\"o\">=</span><span class=\"s2\">&quot;Membership&quot;</span><span class=\"p\">,</span>\n        <span class=\"n\">through_fields</span><span class=\"o\">=</span><span class=\"p\">(</span><span class=\"s2\">&quot;group&quot;</span><span class=\"p\">,</span> <span class=\"s2\">&quot;person&quot;</span><span class=\"p\">),</span>\n    <span class=\"p\">)</span>\n\n\n<span class=\"k\">class</span><span class=\"w\"> </span><span class=\"nc\">Membership</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=\"n\">group</span> <span class=\"o\">=</span> <span class=\"n\">models</span><span class=\"o\">.</span><span class=\"n\">ForeignKey</span><span class=\"p\">(</span><span class=\"n\">Group</span><span class=\"p\">,</span> <span class=\"n\">on_delete</span><span class=\"o\">=</span><span class=\"n\">models</span><span class=\"o\">.</span><span class=\"n\">CASCADE</span><span class=\"p\">)</span>\n    <span class=\"n\">person</span> <span class=\"o\">=</span> <span class=\"n\">models</span><span class=\"o\">.</span><span class=\"n\">ForeignKey</span><span class=\"p\">(</span><span class=\"n\">Person</span><span class=\"p\">,</span> <span class=\"n\">on_delete</span><span class=\"o\">=</span><span class=\"n\">models</span><span class=\"o\">.</span><span class=\"n\">CASCADE</span><span class=\"p\">)</span>\n    <span class=\"n\">inviter</span> <span class=\"o\">=</span> <span class=\"n\">models</span><span class=\"o\">.</span><span class=\"n\">ForeignKey</span><span class=\"p\">(</span>\n        <span class=\"n\">Person</span><span class=\"p\">,</span>\n        <span class=\"n\">on_delete</span><span class=\"o\">=</span><span class=\"n\">models</span><span class=\"o\">.</span><span class=\"n\">CASCADE</span><span class=\"p\">,</span>\n        <span class=\"n\">related_name</span><span class=\"o\">=</span><span class=\"s2\">&quot;membership_invites&quot;</span><span class=\"p\">,</span>\n    <span class=\"p\">)</span>\n    <span class=\"n\">invite_reason</span> <span class=\"o\">=</span> <span class=\"n\">models</span><span class=\"o\">.</span><span class=\"n\">CharField</span><span class=\"p\">(</span><span class=\"n\">max_length</span><span class=\"o\">=</span><span class=\"mi\">64</span><span class=\"p\">)</span>\n</code></pre></div>\n<p><code class=\"docutils literal notranslate\"><span class=\"pre\">Membership</span></code> har <em>två</em> främmande nycklar till <code class=\"docutils literal notranslate\"><span class=\"pre\">Person</span></code> (<code class=\"docutils literal notranslate\"><span class=\"pre\">person</span></code> och <code class=\"docutils literal notranslate\"><span class=\"pre\">inviter</span></code>), vilket gör förhållandet tvetydigt och Django kan inte veta vilken som ska användas. I det här fallet måste du uttryckligen ange vilka främmande nycklar Django ska använda med hjälp av <code class=\"docutils literal notranslate\"><span class=\"pre\">through_fields</span></code>, som i exemplet ovan.</p>\n<p><code class=\"docutils literal notranslate\"><span class=\"pre\">through_fields</span></code> accepterar en 2-tupel <code class=\"docutils literal notranslate\"><span class=\"pre\">('field1',</span> <span class=\"pre\">'field2')</span></code>, där <code class=\"docutils literal notranslate\"><span class=\"pre\">field1</span></code> är namnet på den främmande nyckeln till modellen som <a class=\"reference internal\" href=\"#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> definieras på (<code class=\"docutils literal notranslate\"><span class=\"pre\">group</span></code> i det här fallet), och <code class=\"docutils literal notranslate\"><span class=\"pre\">field2</span></code> är namnet på den främmande nyckeln till målmodellen (<code class=\"docutils literal notranslate\"><span class=\"pre\">person</span></code> i det här fallet).</p>\n<p>När du har mer än en främmande nyckel på en mellanliggande modell till någon (eller till och med båda) av de modeller som deltar i en många-till-många-relation, måste du <em>måste</em> ange <code class=\"docutils literal notranslate\"><span class=\"pre\">through_fields</span></code>. Detta gäller även <a class=\"reference internal\" href=\"#recursive-relationships\"><span class=\"std std-ref\">recursive relationships</span></a> när en mellanliggande modell används och det finns mer än två främmande nycklar till modellen, eller om du uttryckligen vill ange vilka två Django ska använda.</p>\n</dd></dl>\n\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.db.models.ManyToManyField.db_table\">\n<span class=\"sig-prename descclassname\"><span class=\"pre\">ManyToManyField.</span></span><span class=\"sig-name descname\"><span class=\"pre\">db_table</span></span><a class=\"heading-anchor\" href=\"#django.db.models.ManyToManyField.db_table\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Namnet på den tabell som ska skapas för att lagra data för många-till-många. Om detta inte anges kommer Django att anta ett standardnamn baserat på namnen på: tabellen för den modell som definierar relationen och namnet på själva fältet.</p>\n</dd></dl>\n\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.db.models.ManyToManyField.db_constraint\">\n<span class=\"sig-prename descclassname\"><span class=\"pre\">ManyToManyField.</span></span><span class=\"sig-name descname\"><span class=\"pre\">db_constraint</span></span><a class=\"heading-anchor\" href=\"#django.db.models.ManyToManyField.db_constraint\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Styr om begränsningar ska skapas i databasen för de utländska nycklarna i den mellanliggande tabellen eller inte. Standardvärdet är <code class=\"docutils literal notranslate\"><span class=\"pre\">True</span></code>, och det är nästan säkert vad du vill ha; att ställa in detta på <code class=\"docutils literal notranslate\"><span class=\"pre\">False</span></code> kan vara mycket dåligt för dataintegriteten. Med detta sagt, här är några scenarier där du kanske vill göra detta:</p>\n<ul class=\"simple\">\n<li><p>Du har äldre data som inte är giltiga.</p></li>\n<li><p>Du shardar din databas.</p></li>\n</ul>\n<p>Det är ett fel att skicka både <code class=\"docutils literal notranslate\"><span class=\"pre\">db_constraint</span></code> och <code class=\"docutils literal notranslate\"><span class=\"pre\">through</span></code>.</p>\n</dd></dl>\n\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.db.models.ManyToManyField.swappable\">\n<span class=\"sig-prename descclassname\"><span class=\"pre\">ManyToManyField.</span></span><span class=\"sig-name descname\"><span class=\"pre\">swappable</span></span><a class=\"heading-anchor\" href=\"#django.db.models.ManyToManyField.swappable\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Styr migreringsramverkets reaktion om denna <a class=\"reference internal\" href=\"#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> pekar på en utbytbar modell. Om det är <code class=\"docutils literal notranslate\"><span class=\"pre\">True</span></code> - standard - och om <a class=\"reference internal\" href=\"#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> pekar på en modell som matchar det aktuella värdet för <code class=\"docutils literal notranslate\"><span class=\"pre\">settings.AUTH_USER_MODEL</span></code> (eller en annan utbytbar modellinställning) kommer relationen att lagras i migreringen med en referens till inställningen, inte direkt till modellen.</p>\n<p>Du vill bara åsidosätta detta till ”False” om du är säker på att din modell alltid ska peka mot den inbytta modellen - till exempel om det är en profilmodell som är utformad specifikt för din anpassade användarmodell.</p>\n<p>Om du är osäker, låt den vara inställd på standardvärdet <code class=\"docutils literal notranslate\"><span class=\"pre\">True</span></code>.</p>\n</dd></dl>\n\n<p><a class=\"reference internal\" href=\"#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> har inte stöd för <a class=\"reference internal\" href=\"#django.db.models.Field.validators\" title=\"django.db.models.Field.validators\"><code class=\"xref py py-attr docutils literal notranslate\"><span class=\"pre\">validators</span></code></a>.</p>\n<p><a class=\"reference internal\" href=\"#django.db.models.Field.null\" title=\"django.db.models.Field.null\"><code class=\"xref py py-attr docutils literal notranslate\"><span class=\"pre\">null</span></code></a> har ingen effekt eftersom det inte finns något sätt att kräva en relation på databasnivå.</p>\n</section>\n</section>\n<section id=\"onetoonefield\">\n<h3><code class=\"docutils literal notranslate\"><span class=\"pre\">OneToOneField</span></code><a class=\"heading-anchor\" href=\"#onetoonefield\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<dl class=\"py class\">\n<dt class=\"sig sig-object py\" id=\"django.db.models.OneToOneField\">\n<em class=\"property\"><span class=\"k\"><span class=\"pre\">class</span></span><span class=\"w\"> </span></em><span class=\"sig-name descname\"><span class=\"pre\">OneToOneField</span></span><span class=\"sig-paren\">(</span><em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">to</span></span></em>, <em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">on_delete</span></span></em>, <em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">parent_link</span></span><span class=\"o\"><span class=\"pre\">=</span></span><span class=\"default_value\"><span class=\"pre\">False</span></span></em>, <em class=\"sig-param\"><span class=\"o\"><span class=\"pre\">**</span></span><span class=\"n\"><span class=\"pre\">options</span></span></em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.db.models.OneToOneField\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p>Ett ett-till-ett-förhållande. Konceptuellt liknar detta en <a class=\"reference internal\" href=\"#django.db.models.ForeignKey\" title=\"django.db.models.ForeignKey\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">ForeignKey</span></code></a> med <a class=\"reference internal\" href=\"#django.db.models.Field.unique\" title=\"django.db.models.Field.unique\"><code class=\"xref py py-attr docutils literal notranslate\"><span class=\"pre\">unique=True</span></code></a>, men den ”omvända” sidan av relationen kommer direkt att returnera ett enda objekt.</p>\n<p>Detta är mest användbart som primärnyckel för en modell som ”utvidgar” en annan modell på något sätt; <a class=\"reference internal\" href=\"/sv/6.1/topics/db/models/#multi-table-inheritance\"><span class=\"std std-ref\">Arv från flera tabeller</span></a> implementeras till exempel genom att lägga till en implicit en-till-en-relation från barnmodellen till föräldramodellen.</p>\n<p>Ett positionellt argument krävs: den klass som modellen ska relateras till. Detta fungerar på exakt samma sätt som för <a class=\"reference internal\" href=\"#django.db.models.ForeignKey\" title=\"django.db.models.ForeignKey\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">ForeignKey</span></code></a>, inklusive alla alternativ för <a class=\"reference internal\" href=\"#recursive-relationships\"><span class=\"std std-ref\">recursive</span></a> och <a class=\"reference internal\" href=\"#lazy-relationships\"><span class=\"std std-ref\">lazy</span></a> relationer.</p>\n<p>Om du inte anger argumentet <a class=\"reference internal\" href=\"#django.db.models.ForeignKey.related_name\" title=\"django.db.models.ForeignKey.related_name\"><code class=\"xref py py-attr docutils literal notranslate\"><span class=\"pre\">related_name</span></code></a> för <code class=\"docutils literal notranslate\"><span class=\"pre\">OneToOneField</span></code>, kommer Django att använda den aktuella modellens namn med gemener som standardvärde.</p>\n<p>Med följande exempel:</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.conf</span><span class=\"w\"> </span><span class=\"kn\">import</span> <span class=\"n\">settings</span>\n<span class=\"kn\">from</span><span class=\"w\"> </span><span class=\"nn\">django.db</span><span class=\"w\"> </span><span class=\"kn\">import</span> <span class=\"n\">models</span>\n\n\n<span class=\"k\">class</span><span class=\"w\"> </span><span class=\"nc\">MySpecialUser</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=\"n\">user</span> <span class=\"o\">=</span> <span class=\"n\">models</span><span class=\"o\">.</span><span class=\"n\">OneToOneField</span><span class=\"p\">(</span>\n        <span class=\"n\">settings</span><span class=\"o\">.</span><span class=\"n\">AUTH_USER_MODEL</span><span class=\"p\">,</span>\n        <span class=\"n\">on_delete</span><span class=\"o\">=</span><span class=\"n\">models</span><span class=\"o\">.</span><span class=\"n\">CASCADE</span><span class=\"p\">,</span>\n    <span class=\"p\">)</span>\n    <span class=\"n\">supervisor</span> <span class=\"o\">=</span> <span class=\"n\">models</span><span class=\"o\">.</span><span class=\"n\">OneToOneField</span><span class=\"p\">(</span>\n        <span class=\"n\">settings</span><span class=\"o\">.</span><span class=\"n\">AUTH_USER_MODEL</span><span class=\"p\">,</span>\n        <span class=\"n\">on_delete</span><span class=\"o\">=</span><span class=\"n\">models</span><span class=\"o\">.</span><span class=\"n\">CASCADE</span><span class=\"p\">,</span>\n        <span class=\"n\">related_name</span><span class=\"o\">=</span><span class=\"s2\">&quot;supervisor_of&quot;</span><span class=\"p\">,</span>\n    <span class=\"p\">)</span>\n</code></pre></div>\n<p>din resulterande <code class=\"docutils literal notranslate\"><span class=\"pre\">User</span></code>-modell kommer att ha följande attribut:</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\">user</span> <span class=\"o\">=</span> <span class=\"n\">User</span><span class=\"o\">.</span><span class=\"n\">objects</span><span class=\"o\">.</span><span class=\"n\">get</span><span class=\"p\">(</span><span class=\"n\">pk</span><span class=\"o\">=</span><span class=\"mi\">1</span><span class=\"p\">)</span>\n<span class=\"gp\">&gt;&gt;&gt; </span><span class=\"nb\">hasattr</span><span class=\"p\">(</span><span class=\"n\">user</span><span class=\"p\">,</span> <span class=\"s2\">&quot;myspecialuser&quot;</span><span class=\"p\">)</span>\n<span class=\"go\">True</span>\n<span class=\"gp\">&gt;&gt;&gt; </span><span class=\"nb\">hasattr</span><span class=\"p\">(</span><span class=\"n\">user</span><span class=\"p\">,</span> <span class=\"s2\">&quot;supervisor_of&quot;</span><span class=\"p\">)</span>\n<span class=\"go\">True</span>\n</code></pre></div>\n<p>Ett <code class=\"docutils literal notranslate\"><span class=\"pre\">RelatedObjectDoesNotExist</span></code>-undantag uppstår vid åtkomst till det omvända förhållandet om en post i den relaterade tabellen inte finns. Detta är en underklass av målmodellens <a class=\"reference internal\" href=\"/sv/6.1/ref/models/class/#django.db.models.Model.DoesNotExist\" title=\"django.db.models.Model.DoesNotExist\"><code class=\"xref py py-exc docutils literal notranslate\"><span class=\"pre\">Model.DoesNotExist</span></code></a> undantag och kan nås som ett attribut för den omvända accessorn. Till exempel:, om en användare inte har en handledare som anges av <code class=\"docutils literal notranslate\"><span class=\"pre\">MySpecialUser</span></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=\"k\">try</span><span class=\"p\">:</span>\n    <span class=\"n\">user</span><span class=\"o\">.</span><span class=\"n\">supervisor_of</span>\n<span class=\"k\">except</span> <span class=\"n\">User</span><span class=\"o\">.</span><span class=\"n\">supervisor_of</span><span class=\"o\">.</span><span class=\"n\">RelatedObjectDoesNotExist</span><span class=\"p\">:</span>\n    <span class=\"k\">pass</span>\n</code></pre></div>\n<p id=\"onetoone-arguments\">Dessutom accepterar <code class=\"docutils literal notranslate\"><span class=\"pre\">OneToOneField</span></code> alla de extra argument som accepteras av <a class=\"reference internal\" href=\"#django.db.models.ForeignKey\" title=\"django.db.models.ForeignKey\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">ForeignKey</span></code></a>, plus ett extra argument:</p>\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.db.models.OneToOneField.parent_link\">\n<span class=\"sig-prename descclassname\"><span class=\"pre\">OneToOneField.</span></span><span class=\"sig-name descname\"><span class=\"pre\">parent_link</span></span><a class=\"heading-anchor\" href=\"#django.db.models.OneToOneField.parent_link\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>När <code class=\"docutils literal notranslate\"><span class=\"pre\">True</span></code> och används i en modell som ärver från en annan <a class=\"reference internal\" href=\"/sv/6.1/glossary/#term-concrete-model\"><span class=\"xref std std-term\">concrete model</span></a>, anger att detta fält ska användas som länk tillbaka till moderklassen, snarare än det extra <code class=\"docutils literal notranslate\"><span class=\"pre\">OneToOneField</span></code> som normalt skulle skapas implicit genom subklassning.</p>\n</dd></dl>\n\n<p>Se <a class=\"reference internal\" href=\"/sv/6.1/topics/db/examples/one_to_one/\"><span class=\"doc\">One-to-one relationships</span></a> för användningsexempel på <code class=\"docutils literal notranslate\"><span class=\"pre\">OneToOneField</span></code>.</p>\n</section>\n<section id=\"lazy-relationships\">\n<span id=\"id4\"></span><h3>Lata relationer<a class=\"heading-anchor\" href=\"#lazy-relationships\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<p>Lazy relationships gör det möjligt att referera till modeller med deras namn (som strängar) eller skapa rekursiva relationer. Strängar kan användas som första argument i alla relationsfält för att referera till modeller på ett latent sätt. En lat referens kan vara antingen <a class=\"reference internal\" href=\"#recursive-relationships\"><span class=\"std std-ref\">recursive</span></a>, <a class=\"reference internal\" href=\"#relative-relationships\"><span class=\"std std-ref\">relative</span></a> eller <a class=\"reference internal\" href=\"#absolute-relationships\"><span class=\"std std-ref\">absolute</span></a>.</p>\n<section id=\"recursive\">\n<span id=\"recursive-relationships\"></span><h4>Rekursiv<a class=\"heading-anchor\" href=\"#recursive\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h4>\n<p>Om du vill definiera en relation där en modell refererar till sig själv använder du <code class=\"docutils literal notranslate\"><span class=\"pre\">&quot;self&quot;</span></code> som första argument i relationsfältet:</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</span><span class=\"w\"> </span><span class=\"kn\">import</span> <span class=\"n\">models</span>\n\n\n<span class=\"k\">class</span><span class=\"w\"> </span><span class=\"nc\">Manufacturer</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=\"n\">name</span> <span class=\"o\">=</span> <span class=\"n\">models</span><span class=\"o\">.</span><span class=\"n\">TextField</span><span class=\"p\">()</span>\n    <span class=\"n\">suppliers</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=\"s2\">&quot;self&quot;</span><span class=\"p\">,</span> <span class=\"n\">symmetrical</span><span class=\"o\">=</span><span class=\"kc\">False</span><span class=\"p\">)</span>\n</code></pre></div>\n<p>När den används i en <a class=\"reference internal\" href=\"/sv/6.1/topics/db/models/#abstract-base-classes\"><span class=\"std std-ref\">abstrakt modell</span></a>, löses det rekursiva förhållandet så att varje konkret underklass refererar till sig själv.</p>\n</section>\n<section id=\"relative\">\n<span id=\"relative-relationships\"></span><h4>Relativ<a class=\"heading-anchor\" href=\"#relative\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h4>\n<p>När en relation behöver skapas med en modell som ännu inte har definierats, kan den refereras till med sitt namn i stället för med själva modellobjektet:</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</span><span class=\"w\"> </span><span class=\"kn\">import</span> <span class=\"n\">models</span>\n\n\n<span class=\"k\">class</span><span class=\"w\"> </span><span class=\"nc\">Car</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=\"n\">manufacturer</span> <span class=\"o\">=</span> <span class=\"n\">models</span><span class=\"o\">.</span><span class=\"n\">ForeignKey</span><span class=\"p\">(</span>\n        <span class=\"s2\">&quot;Manufacturer&quot;</span><span class=\"p\">,</span>\n        <span class=\"n\">on_delete</span><span class=\"o\">=</span><span class=\"n\">models</span><span class=\"o\">.</span><span class=\"n\">CASCADE</span><span class=\"p\">,</span>\n    <span class=\"p\">)</span>\n\n\n<span class=\"k\">class</span><span class=\"w\"> </span><span class=\"nc\">Manufacturer</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=\"n\">name</span> <span class=\"o\">=</span> <span class=\"n\">models</span><span class=\"o\">.</span><span class=\"n\">TextField</span><span class=\"p\">()</span>\n    <span class=\"n\">suppliers</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=\"s2\">&quot;self&quot;</span><span class=\"p\">,</span> <span class=\"n\">symmetrical</span><span class=\"o\">=</span><span class=\"kc\">False</span><span class=\"p\">)</span>\n</code></pre></div>\n<p>Relationer som definieras på detta sätt på <a class=\"reference internal\" href=\"/sv/6.1/topics/db/models/#abstract-base-classes\"><span class=\"std std-ref\">abstrakta modeller</span></a> löses när modellen underklassas som en konkret modell och är inte relativa till den abstrakta modellens <code class=\"docutils literal notranslate\"><span class=\"pre\">app_label</span></code>:</p>\n<figure class=\"code-block code-block-captioned\" data-language=\"python\"><figcaption class=\"code-block-caption\"><code class=\"docutils literal notranslate\"><span class=\"pre\">produkter/modeller.py</span></code></figcaption>\n<div class=\"code-block-toolbar\"><span class=\"code-block-language\">Python</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 code\"><code><span class=\"kn\">from</span><span class=\"w\"> </span><span class=\"nn\">django.db</span><span class=\"w\"> </span><span class=\"kn\">import</span> <span class=\"n\">models</span>\n\n\n<span class=\"k\">class</span><span class=\"w\"> </span><span class=\"nc\">AbstractCar</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=\"n\">manufacturer</span> <span class=\"o\">=</span> <span class=\"n\">models</span><span class=\"o\">.</span><span class=\"n\">ForeignKey</span><span class=\"p\">(</span><span class=\"s2\">&quot;Manufacturer&quot;</span><span class=\"p\">,</span> <span class=\"n\">on_delete</span><span class=\"o\">=</span><span class=\"n\">models</span><span class=\"o\">.</span><span class=\"n\">CASCADE</span><span class=\"p\">)</span>\n\n    <span class=\"k\">class</span><span class=\"w\"> </span><span class=\"nc\">Meta</span><span class=\"p\">:</span>\n        <span class=\"n\">abstract</span> <span class=\"o\">=</span> <span class=\"kc\">True</span>\n</code></pre></figure>\n<figure class=\"code-block code-block-captioned\" data-language=\"python\"><figcaption class=\"code-block-caption\"><code class=\"docutils literal notranslate\"><span class=\"pre\">produktion/modeller.py</span></code></figcaption>\n<div class=\"code-block-toolbar\"><span class=\"code-block-language\">Python</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 code\"><code><span class=\"kn\">from</span><span class=\"w\"> </span><span class=\"nn\">django.db</span><span class=\"w\"> </span><span class=\"kn\">import</span> <span class=\"n\">models</span>\n<span class=\"kn\">from</span><span class=\"w\"> </span><span class=\"nn\">products.models</span><span class=\"w\"> </span><span class=\"kn\">import</span> <span class=\"n\">AbstractCar</span>\n\n\n<span class=\"k\">class</span><span class=\"w\"> </span><span class=\"nc\">Manufacturer</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=\"n\">name</span> <span class=\"o\">=</span> <span class=\"n\">models</span><span class=\"o\">.</span><span class=\"n\">TextField</span><span class=\"p\">()</span>\n\n\n<span class=\"k\">class</span><span class=\"w\"> </span><span class=\"nc\">Car</span><span class=\"p\">(</span><span class=\"n\">AbstractCar</span><span class=\"p\">):</span>\n    <span class=\"k\">pass</span>\n</code></pre></figure>\n<p>I det här exemplet kommer relationen <code class=\"docutils literal notranslate\"><span class=\"pre\">Car.manufacturer</span></code> att lösas upp till <code class=\"docutils literal notranslate\"><span class=\"pre\">production.Manufacturer</span></code>, eftersom den pekar på den konkreta modell som definieras i filen <code class=\"docutils literal notranslate\"><span class=\"pre\">production/models.py</span></code>.</p>\n<aside class=\"admonition-reusable-models-with-relative-references admonition\">\n<p class=\"admonition-title\">Återanvändbara modeller med relativa referenser</p>\n<p>Relativa referenser gör det möjligt att skapa återanvändbara abstrakta modeller med relationer som kan leda till olika implementeringar av de refererade modellerna i olika subklasser i olika applikationer.</p>\n</aside>\n</section>\n<section id=\"absolute\">\n<span id=\"absolute-relationships\"></span><h4>Absolut<a class=\"heading-anchor\" href=\"#absolute\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h4>\n<p>Absoluta referenser specificerar en modell med hjälp av dess <code class=\"docutils literal notranslate\"><span class=\"pre\">app_label</span></code> och klassnamn, vilket möjliggör modellreferenser mellan olika applikationer. Denna typ av latent relation kan också hjälpa till att lösa cirkulär import.</p>\n<p>Om t.ex. modellen <code class=\"docutils literal notranslate\"><span class=\"pre\">Manufacturer</span></code> definieras i en annan applikation som heter <code class=\"docutils literal notranslate\"><span class=\"pre\">thirdpartyapp</span></code>, kan den refereras som:</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\">Car</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=\"n\">manufacturer</span> <span class=\"o\">=</span> <span class=\"n\">models</span><span class=\"o\">.</span><span class=\"n\">ForeignKey</span><span class=\"p\">(</span>\n        <span class=\"s2\">&quot;thirdpartyapp.Manufacturer&quot;</span><span class=\"p\">,</span>\n        <span class=\"n\">on_delete</span><span class=\"o\">=</span><span class=\"n\">models</span><span class=\"o\">.</span><span class=\"n\">CASCADE</span><span class=\"p\">,</span>\n    <span class=\"p\">)</span>\n</code></pre></div>\n<p>Absoluta referenser pekar alltid på samma modell, även när de används i en <a class=\"reference internal\" href=\"/sv/6.1/topics/db/models/#abstract-base-classes\"><span class=\"std std-ref\">abstrakt modell</span></a>.</p>\n</section>\n</section>\n</section>\n<section id=\"field-api-reference\">\n<h2>API-referens för fält<a class=\"heading-anchor\" href=\"#field-api-reference\"><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.db.models.Field\">\n<em class=\"property\"><span class=\"k\"><span class=\"pre\">class</span></span><span class=\"w\"> </span></em><span class=\"sig-name descname\"><span class=\"pre\">Field</span></span><a class=\"heading-anchor\" href=\"#django.db.models.Field\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p><code class=\"docutils literal notranslate\"><span class=\"pre\">Field</span></code> är en abstrakt klass som representerar en kolumn i en databastabell. Django använder fält för att skapa databastabellen (<a class=\"reference internal\" href=\"#django.db.models.Field.db_type\" title=\"django.db.models.Field.db_type\"><code class=\"xref py py-meth docutils literal notranslate\"><span class=\"pre\">db_type()</span></code></a>), för att mappa Python-typer till databasen (<a class=\"reference internal\" href=\"#django.db.models.Field.get_prep_value\" title=\"django.db.models.Field.get_prep_value\"><code class=\"xref py py-meth docutils literal notranslate\"><span class=\"pre\">get_prep_value()</span></code></a>) och vice versa (<a class=\"reference internal\" href=\"#django.db.models.Field.from_db_value\" title=\"django.db.models.Field.from_db_value\"><code class=\"xref py py-meth docutils literal notranslate\"><span class=\"pre\">from_db_value()</span></code></a>).</p>\n<p>A field is thus a fundamental piece in different Django APIs, notably the\n<a class=\"reference internal\" href=\"/sv/6.1/ref/models/instances/#django.db.models.Model\" title=\"django.db.models.Model\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">Model</span></code></a> and the\n<a class=\"reference internal\" href=\"/sv/6.1/ref/models/querysets/#django.db.models.query.QuerySet\" title=\"django.db.models.query.QuerySet\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">QuerySet</span></code></a> APIs.</p>\n<p>I modeller är ett fält instansierat som ett klassattribut och representerar en viss tabellkolumn, se <a class=\"reference internal\" href=\"/sv/6.1/topics/db/models/\"><span class=\"doc\">Modeller</span></a>. Det har attribut som <a class=\"reference internal\" href=\"#django.db.models.Field.null\" title=\"django.db.models.Field.null\"><code class=\"xref py py-attr docutils literal notranslate\"><span class=\"pre\">null</span></code></a> och <a class=\"reference internal\" href=\"#django.db.models.Field.unique\" title=\"django.db.models.Field.unique\"><code class=\"xref py py-attr docutils literal notranslate\"><span class=\"pre\">unique</span></code></a>, och metoder som Django använder för att mappa fältvärdet till databasspecifika värden.</p>\n<p>En <code class=\"docutils literal notranslate\"><span class=\"pre\">Field</span></code> är en underklass av <a class=\"reference internal\" href=\"/sv/6.1/ref/models/lookups/#django.db.models.lookups.RegisterLookupMixin\" title=\"django.db.models.lookups.RegisterLookupMixin\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">RegisterLookupMixin</span></code></a> och därmed kan både <a class=\"reference internal\" href=\"/sv/6.1/ref/models/lookups/#django.db.models.Transform\" title=\"django.db.models.Transform\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">Transform</span></code></a> och <code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">Lookup`</span></code> registreras på den för att användas i <code class=\"docutils literal notranslate\"><span class=\"pre\">QuerySet</span></code> (t.ex. <code class=\"docutils literal notranslate\"><span class=\"pre\">field_name__exact=&quot;foo&quot;</span></code>). Alla <a class=\"reference internal\" href=\"/sv/6.1/ref/models/querysets/#field-lookups\"><span class=\"std std-ref\">inbyggda lookups</span></a> är registrerade som standard.</p>\n<p>Alla Djangos inbyggda fält, till exempel <a class=\"reference internal\" href=\"#django.db.models.CharField\" title=\"django.db.models.CharField\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">CharField</span></code></a>, är särskilda implementeringar av <code class=\"docutils literal notranslate\"><span class=\"pre\">Field</span></code>. Om du behöver ett anpassat fält kan du antingen subklassa något av de inbyggda fälten eller skriva ett <code class=\"docutils literal notranslate\"><span class=\"pre\">Field</span></code> från början. I båda fallen, se <a class=\"reference internal\" href=\"/sv/6.1/howto/custom-model-fields/\"><span class=\"doc\">Så här skapar du anpassade modellfält</span></a>.</p>\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.db.models.Field.description\">\n<span class=\"sig-name descname\"><span class=\"pre\">description</span></span><a class=\"heading-anchor\" href=\"#django.db.models.Field.description\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>En utförlig beskrivning av fältet, t.ex. för programmet <a class=\"reference internal\" href=\"/sv/6.1/ref/contrib/admin/admindocs/#module-django.contrib.admindocs\" title=\"django.contrib.admindocs: Django's admin documentation generator.\"><code class=\"xref py py-mod docutils literal notranslate\"><span class=\"pre\">django.contrib.admindocs</span></code></a>.</p>\n<p>Beskrivningen kan vara av formen:</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\">description</span> <span class=\"o\">=</span> <span class=\"n\">_</span><span class=\"p\">(</span><span class=\"s2\">&quot;String (up to </span><span class=\"si\">%(max_length)s</span><span class=\"s2\">)&quot;</span><span class=\"p\">)</span>\n</code></pre></div>\n<p>där argumenten interpoleras från fältets <code class=\"docutils literal notranslate\"><span class=\"pre\">__dict__</span></code>.</p>\n</dd></dl>\n\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.db.models.Field.descriptor_class\">\n<span class=\"sig-name descname\"><span class=\"pre\">descriptor_class</span></span><a class=\"heading-anchor\" href=\"#django.db.models.Field.descriptor_class\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>A class implementing the <a class=\"reference external\" href=\"https://docs.python.org/3/reference/datamodel.html#descriptors\" title=\"(in Python v3.14)\"><span class=\"xref std std-ref\">descriptor protocol</span></a>\nthat is instantiated and assigned to the model instance attribute. The\nconstructor must accept a single argument, the <code class=\"docutils literal notranslate\"><span class=\"pre\">Field</span></code> instance.\nOverriding this class attribute allows for customizing the get and set\nbehavior.</p>\n</dd></dl>\n\n<p>För att mappa en <code class=\"docutils literal notranslate\"><span class=\"pre\">Field</span></code> till en databasspecifik typ, exponerar Django flera metoder:</p>\n<dl class=\"py method\">\n<dt class=\"sig sig-object py\" id=\"django.db.models.Field.get_internal_type\">\n<span class=\"sig-name descname\"><span class=\"pre\">get_internal_type</span></span><span class=\"sig-paren\">(</span><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.db.models.Field.get_internal_type\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Returnerar en sträng som namnger detta fält för backend-specifika ändamål. Som standard returneras klassnamnet.</p>\n<p>Se <a class=\"reference internal\" href=\"/sv/6.1/howto/custom-model-fields/#emulating-built-in-field-types\"><span class=\"std std-ref\">Emulering av inbyggda fälttyper</span></a> för användning i anpassade fält.</p>\n</dd></dl>\n\n<dl class=\"py method\">\n<dt class=\"sig sig-object py\" id=\"django.db.models.Field.db_type\">\n<span class=\"sig-name descname\"><span class=\"pre\">db_type</span></span><span class=\"sig-paren\">(</span><em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">connection</span></span></em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.db.models.Field.db_type\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Returnerar databaskolumnens datatyp för <a class=\"reference internal\" href=\"#django.db.models.Field\" title=\"django.db.models.Field\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">Field</span></code></a>, med hänsyn tagen till <code class=\"docutils literal notranslate\"><span class=\"pre\">connection</span></code>.</p>\n<p>Se <a class=\"reference internal\" href=\"/sv/6.1/howto/custom-model-fields/#custom-database-types\"><span class=\"std std-ref\">Anpassade databastyper</span></a> för användning i anpassade fält.</p>\n</dd></dl>\n\n<dl class=\"py method\">\n<dt class=\"sig sig-object py\" id=\"django.db.models.Field.rel_db_type\">\n<span class=\"sig-name descname\"><span class=\"pre\">rel_db_type</span></span><span class=\"sig-paren\">(</span><em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">connection</span></span></em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.db.models.Field.rel_db_type\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Returnerar databasens kolumndatatyp för fält som <code class=\"docutils literal notranslate\"><span class=\"pre\">ForeignKey</span></code> och <code class=\"docutils literal notranslate\"><span class=\"pre\">OneToOneField</span></code> som pekar på <a class=\"reference internal\" href=\"#django.db.models.Field\" title=\"django.db.models.Field\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">Field</span></code></a>, med hänsyn tagen till <code class=\"docutils literal notranslate\"><span class=\"pre\">connection</span></code>.</p>\n<p>Se <a class=\"reference internal\" href=\"/sv/6.1/howto/custom-model-fields/#custom-database-types\"><span class=\"std std-ref\">Anpassade databastyper</span></a> för användning i anpassade fält.</p>\n</dd></dl>\n\n<p>Det finns tre huvudsakliga situationer där Django behöver interagera med databasens backend och fält:</p>\n<ul class=\"simple\">\n<li><p>när den frågar databasen (Python-värde -&gt; databasens backend-värde)</p></li>\n<li><p>när den laddar data från databasen (databasens backend-värde -&gt; Python-värde)</p></li>\n<li><p>när den sparar i databasen (Python-värde -&gt; databasens backend-värde)</p></li>\n</ul>\n<p>Vid frågor används <a class=\"reference internal\" href=\"#django.db.models.Field.get_db_prep_value\" title=\"django.db.models.Field.get_db_prep_value\"><code class=\"xref py py-meth docutils literal notranslate\"><span class=\"pre\">get_db_prep_value()</span></code></a> och <a class=\"reference internal\" href=\"#django.db.models.Field.get_prep_value\" title=\"django.db.models.Field.get_prep_value\"><code class=\"xref py py-meth docutils literal notranslate\"><span class=\"pre\">get_prep_value()</span></code></a>:</p>\n<dl class=\"py method\">\n<dt class=\"sig sig-object py\" id=\"django.db.models.Field.get_prep_value\">\n<span class=\"sig-name descname\"><span class=\"pre\">get_prep_value</span></span><span class=\"sig-paren\">(</span><em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">value</span></span></em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.db.models.Field.get_prep_value\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p><code class=\"docutils literal notranslate\"><span class=\"pre\">value</span></code> är det aktuella värdet för modellens attribut och metoden ska returnera data i ett format som har förberetts för att användas som en parameter i en fråga.</p>\n<p>Se <a class=\"reference internal\" href=\"/sv/6.1/howto/custom-model-fields/#converting-python-objects-to-query-values\"><span class=\"std std-ref\">Konvertera Python-objekt till frågevärden</span></a> för användning.</p>\n</dd></dl>\n\n<dl class=\"py method\">\n<dt class=\"sig sig-object py\" id=\"django.db.models.Field.get_db_prep_value\">\n<span class=\"sig-name descname\"><span class=\"pre\">get_db_prep_value</span></span><span class=\"sig-paren\">(</span><em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">value</span></span></em>, <em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">connection</span></span></em>, <em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">prepared</span></span><span class=\"o\"><span class=\"pre\">=</span></span><span class=\"default_value\"><span class=\"pre\">False</span></span></em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.db.models.Field.get_db_prep_value\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Converts <code class=\"docutils literal notranslate\"><span class=\"pre\">value</span></code> to a backend-specific value. By default it returns\n<code class=\"docutils literal notranslate\"><span class=\"pre\">value</span></code> if <code class=\"docutils literal notranslate\"><span class=\"pre\">prepared=True</span></code>, and <a class=\"reference internal\" href=\"#django.db.models.Field.get_prep_value\" title=\"django.db.models.Field.get_prep_value\"><code class=\"xref py py-meth docutils literal notranslate\"><span class=\"pre\">get_prep_value(value)</span></code></a> otherwise.</p>\n<p>Se <a class=\"reference internal\" href=\"/sv/6.1/howto/custom-model-fields/#converting-query-values-to-database-values\"><span class=\"std std-ref\">Konvertering av frågevärden till databasvärden</span></a> för användning.</p>\n</dd></dl>\n\n<p>Vid laddning av data används <a class=\"reference internal\" href=\"#django.db.models.Field.from_db_value\" title=\"django.db.models.Field.from_db_value\"><code class=\"xref py py-meth docutils literal notranslate\"><span class=\"pre\">from_db_value()</span></code></a>:</p>\n<dl class=\"py method\">\n<dt class=\"sig sig-object py\" id=\"django.db.models.Field.from_db_value\">\n<span class=\"sig-name descname\"><span class=\"pre\">from_db_value</span></span><span class=\"sig-paren\">(</span><em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">value</span></span></em>, <em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">expression</span></span></em>, <em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">connection</span></span></em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.db.models.Field.from_db_value\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Konverterar ett värde som returneras av databasen till ett Python-objekt. Det är det omvända av <a class=\"reference internal\" href=\"#django.db.models.Field.get_prep_value\" title=\"django.db.models.Field.get_prep_value\"><code class=\"xref py py-meth docutils literal notranslate\"><span class=\"pre\">get_prep_value()</span></code></a>.</p>\n<p>Den här metoden används inte för de flesta inbyggda fält eftersom databasens backend redan returnerar rätt Python-typ, eller så gör backend själv konverteringen.</p>\n<p><code class=\"docutils literal notranslate\"><span class=\"pre\">uttryck</span></code> är detsamma som <code class=\"docutils literal notranslate\"><span class=\"pre\">själv</span></code>.</p>\n<p>Se <a class=\"reference internal\" href=\"/sv/6.1/howto/custom-model-fields/#converting-values-to-python-objects\"><span class=\"std std-ref\">Konvertera värden till Python-objekt</span></a> för användning.</p>\n<aside class=\"admonition admonition-note\" role=\"note\">\n<p class=\"admonition-title\">Observera</p>\n<p>Av prestandaskäl implementeras inte <code class=\"docutils literal notranslate\"><span class=\"pre\">from_db_value</span></code> som en no-op på fält som inte kräver det (alla Django-fält). Följaktligen får du inte anropa <code class=\"docutils literal notranslate\"><span class=\"pre\">super</span></code> i din definition.</p>\n</aside>\n</dd></dl>\n\n<p>När du sparar används <a class=\"reference internal\" href=\"#django.db.models.Field.pre_save\" title=\"django.db.models.Field.pre_save\"><code class=\"xref py py-meth docutils literal notranslate\"><span class=\"pre\">pre_save()</span></code></a> och <a class=\"reference internal\" href=\"#django.db.models.Field.get_db_prep_save\" title=\"django.db.models.Field.get_db_prep_save\"><code class=\"xref py py-meth docutils literal notranslate\"><span class=\"pre\">get_db_prep_save()</span></code></a>:</p>\n<dl class=\"py method\">\n<dt class=\"sig sig-object py\" id=\"django.db.models.Field.get_db_prep_save\">\n<span class=\"sig-name descname\"><span class=\"pre\">get_db_prep_save</span></span><span class=\"sig-paren\">(</span><em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">value</span></span></em>, <em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">connection</span></span></em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.db.models.Field.get_db_prep_save\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Samma som <a class=\"reference internal\" href=\"#django.db.models.Field.get_db_prep_value\" title=\"django.db.models.Field.get_db_prep_value\"><code class=\"xref py py-meth docutils literal notranslate\"><span class=\"pre\">get_db_prep_value()</span></code></a>, men anropas när fältvärdet måste <em>sparas</em> till databasen. Som standard returneras <a class=\"reference internal\" href=\"#django.db.models.Field.get_db_prep_value\" title=\"django.db.models.Field.get_db_prep_value\"><code class=\"xref py py-meth docutils literal notranslate\"><span class=\"pre\">get_db_prep_value()</span></code></a>.</p>\n</dd></dl>\n\n<dl class=\"py method\">\n<dt class=\"sig sig-object py\" id=\"django.db.models.Field.pre_save\">\n<span class=\"sig-name descname\"><span class=\"pre\">pre_save</span></span><span class=\"sig-paren\">(</span><em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">model_instance</span></span></em>, <em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">add</span></span></em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.db.models.Field.pre_save\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Metod som anropas före <a class=\"reference internal\" href=\"#django.db.models.Field.get_db_prep_save\" title=\"django.db.models.Field.get_db_prep_save\"><code class=\"xref py py-meth docutils literal notranslate\"><span class=\"pre\">get_db_prep_save()</span></code></a> för att förbereda värdet innan det sparas (t.ex. för <a class=\"reference internal\" href=\"#django.db.models.DateField.auto_now\" title=\"django.db.models.DateField.auto_now\"><code class=\"xref py py-attr docutils literal notranslate\"><span class=\"pre\">DateField.auto_now</span></code></a>).</p>\n<p><code class=\"docutils literal notranslate\"><span class=\"pre\">model_instance</span></code> är den instans som detta fält tillhör och <code class=\"docutils literal notranslate\"><span class=\"pre\">add</span></code> är om instansen sparas i databasen för första gången.</p>\n<p>Det bör returnera värdet på lämpligt attribut från <code class=\"docutils literal notranslate\"><span class=\"pre\">model_instance</span></code> för detta fält. Attributnamnet finns i <code class=\"docutils literal notranslate\"><span class=\"pre\">self.attname</span></code> (detta ställs in av <a class=\"reference internal\" href=\"#django.db.models.Field\" title=\"django.db.models.Field\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">Field</span></code></a>).</p>\n<p>Se <a class=\"reference internal\" href=\"/sv/6.1/howto/custom-model-fields/#preprocessing-values-before-saving\"><span class=\"std std-ref\">Förbehandling av värden före lagring</span></a> för användning.</p>\n</dd></dl>\n\n<p>Fält får ofta sina värden som en annan typ, antingen från serialisering eller från formulär.</p>\n<dl class=\"py method\">\n<dt class=\"sig sig-object py\" id=\"django.db.models.Field.to_python\">\n<span class=\"sig-name descname\"><span class=\"pre\">to_python</span></span><span class=\"sig-paren\">(</span><em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">value</span></span></em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.db.models.Field.to_python\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Konverterar värdet till det korrekta Python-objektet. Det fungerar som det omvända av <a class=\"reference internal\" href=\"#django.db.models.Field.value_to_string\" title=\"django.db.models.Field.value_to_string\"><code class=\"xref py py-meth docutils literal notranslate\"><span class=\"pre\">value_to_string()</span></code></a>, och anropas också i <a class=\"reference internal\" href=\"/sv/6.1/ref/models/instances/#django.db.models.Model.clean\" title=\"django.db.models.Model.clean\"><code class=\"xref py py-meth docutils literal notranslate\"><span class=\"pre\">clean()</span></code></a>.</p>\n<p>Se <a class=\"reference internal\" href=\"/sv/6.1/howto/custom-model-fields/#converting-values-to-python-objects\"><span class=\"std std-ref\">Konvertera värden till Python-objekt</span></a> för användning.</p>\n</dd></dl>\n\n<p>Förutom att spara i databasen måste fältet också veta hur det ska serialisera sitt värde:</p>\n<dl class=\"py method\">\n<dt class=\"sig sig-object py\" id=\"django.db.models.Field.value_from_object\">\n<span class=\"sig-name descname\"><span class=\"pre\">value_from_object</span></span><span class=\"sig-paren\">(</span><em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">obj</span></span></em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.db.models.Field.value_from_object\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Returnerar fältets värde för den angivna modellinstansen.</p>\n<p>Denna metod används ofta av <a class=\"reference internal\" href=\"#django.db.models.Field.value_to_string\" title=\"django.db.models.Field.value_to_string\"><code class=\"xref py py-meth docutils literal notranslate\"><span class=\"pre\">value_to_string()</span></code></a>.</p>\n</dd></dl>\n\n<dl class=\"py method\">\n<dt class=\"sig sig-object py\" id=\"django.db.models.Field.value_to_string\">\n<span class=\"sig-name descname\"><span class=\"pre\">value_to_string</span></span><span class=\"sig-paren\">(</span><em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">obj</span></span></em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.db.models.Field.value_to_string\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Konverterar <code class=\"docutils literal notranslate\"><span class=\"pre\">obj</span></code> till en sträng. Används för att serialisera fältets värde.</p>\n<p>Se <a class=\"reference internal\" href=\"/sv/6.1/howto/custom-model-fields/#converting-model-field-to-serialization\"><span class=\"std std-ref\">Konvertering av fältdata för serialisering</span></a> för användning.</p>\n</dd></dl>\n\n<p>When using <a class=\"reference internal\" href=\"/sv/6.1/topics/forms/modelforms/\"><span class=\"doc\">model forms</span></a>, the <code class=\"docutils literal notranslate\"><span class=\"pre\">Field</span></code>\nneeds to know which form field it should be represented by:</p>\n<dl class=\"py method\">\n<dt class=\"sig sig-object py\" id=\"django.db.models.Field.formfield\">\n<span class=\"sig-name descname\"><span class=\"pre\">formfield</span></span><span class=\"sig-paren\">(</span><em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">form_class</span></span><span class=\"o\"><span class=\"pre\">=</span></span><span class=\"default_value\"><span class=\"pre\">None</span></span></em>, <em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">choices_form_class</span></span><span class=\"o\"><span class=\"pre\">=</span></span><span class=\"default_value\"><span class=\"pre\">None</span></span></em>, <em class=\"sig-param\"><span class=\"o\"><span class=\"pre\">**</span></span><span class=\"n\"><span class=\"pre\">kwargs</span></span></em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.db.models.Field.formfield\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Returnerar standard <a class=\"reference internal\" href=\"/sv/6.1/ref/forms/fields/#django.forms.Field\" title=\"django.forms.Field\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">django.forms.Field</span></code></a> för detta fält för <a class=\"reference internal\" href=\"/sv/6.1/topics/forms/modelforms/#django.forms.ModelForm\" title=\"django.forms.ModelForm\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">ModelForm</span></code></a>.</p>\n<p>Om <a class=\"reference internal\" href=\"#django.db.models.Field.formfield\" title=\"django.db.models.Field.formfield\"><code class=\"xref py py-meth docutils literal notranslate\"><span class=\"pre\">formfield()</span></code></a> åsidosätts för att returnera <code class=\"docutils literal notranslate\"><span class=\"pre\">None</span></code>, utesluts detta fält från <a class=\"reference internal\" href=\"/sv/6.1/topics/forms/modelforms/#django.forms.ModelForm\" title=\"django.forms.ModelForm\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">ModelForm</span></code></a>.</p>\n<p>Som standard, om både <code class=\"docutils literal notranslate\"><span class=\"pre\">form_class</span></code> och <code class=\"docutils literal notranslate\"><span class=\"pre\">choices_form_class</span></code> är <code class=\"docutils literal notranslate\"><span class=\"pre\">None</span></code>, används <a class=\"reference internal\" href=\"/sv/6.1/ref/forms/fields/#django.forms.CharField\" title=\"django.forms.CharField\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">CharField</span></code></a>. Om fältet har <a class=\"reference internal\" href=\"#django.db.models.Field.choices\" title=\"django.db.models.Field.choices\"><code class=\"xref py py-attr docutils literal notranslate\"><span class=\"pre\">choices</span></code></a> och <code class=\"docutils literal notranslate\"><span class=\"pre\">choices_form_class</span></code> inte är specificerat, används <a class=\"reference internal\" href=\"/sv/6.1/ref/forms/fields/#django.forms.TypedChoiceField\" title=\"django.forms.TypedChoiceField\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">TypedChoiceField</span></code></a>.</p>\n<p>Se <span class=\"xref std std-ref\">specificerande-form-fält-för-modell-fält</span> för användning.</p>\n</dd></dl>\n\n<dl class=\"py method\">\n<dt class=\"sig sig-object py\" id=\"django.db.models.Field.deconstruct\">\n<span class=\"sig-name descname\"><span class=\"pre\">deconstruct</span></span><span class=\"sig-paren\">(</span><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.db.models.Field.deconstruct\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Returnerar en 4-tupel med tillräckligt med information för att återskapa fältet:</p>\n<ol class=\"arabic simple\">\n<li><p>Namnet på fältet i modellen.</p></li>\n<li><p>Importsökvägen för fältet (t.ex. <code class=\"docutils literal notranslate\"><span class=\"pre\">&quot;django.db.models.IntegerField&quot;</span></code>). Detta bör vara den mest portabla versionen, så mindre specifik kan vara bättre.</p></li>\n<li><p>En lista med positionella argument.</p></li>\n<li><p>En dikt av nyckelordsargument.</p></li>\n</ol>\n<p>Denna metod måste läggas till fält före 1.7 för att migrera dess data med hjälp av <a class=\"reference internal\" href=\"/sv/6.1/topics/migrations/\"><span class=\"doc\">Migreringar</span></a>.</p>\n</dd></dl>\n\n</dd></dl>\n\n</section>\n<section id=\"registering-and-fetching-lookups\">\n<h2>Registrering och hämtning av uppslagsord<a class=\"heading-anchor\" href=\"#registering-and-fetching-lookups\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<p><code class=\"docutils literal notranslate\"><span class=\"pre\">Field</span></code> implementerar <a class=\"reference internal\" href=\"/sv/6.1/ref/models/lookups/#lookup-registration-api\"><span class=\"std std-ref\">lookup registration API</span></a>. API:et kan användas för att anpassa vilka uppslagsord som är tillgängliga för en fältklass och dess instanser, och hur uppslagsord hämtas från ett fält.</p>\n</section>\n</section>\n<section id=\"field-attribute-reference\">\n<span id=\"model-field-attributes\"></span><h1>Referens till fältattribut<a class=\"heading-anchor\" href=\"#field-attribute-reference\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h1>\n<p>Varje <code class=\"docutils literal notranslate\"><span class=\"pre\">Field</span></code>-instans innehåller flera attribut som gör det möjligt att introspektera dess beteende. Använd dessa attribut istället för <code class=\"docutils literal notranslate\"><span class=\"pre\">isinstance</span></code>-kontroller när du behöver skriva kod som är beroende av ett fälts funktionalitet. Dessa attribut kan användas tillsammans med <a class=\"reference internal\" href=\"/sv/6.1/ref/models/meta/#model-meta-field-api\"><span class=\"std std-ref\">Model._meta API</span></a> för att begränsa en sökning efter specifika fälttyper. Anpassade modellfält bör implementera dessa flaggor.</p>\n<section id=\"attributes-for-fields\">\n<h2>Attribut för fält<a class=\"heading-anchor\" href=\"#attributes-for-fields\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.db.models.Field.auto_created\">\n<span class=\"sig-prename descclassname\"><span class=\"pre\">Field.</span></span><span class=\"sig-name descname\"><span class=\"pre\">auto_created</span></span><a class=\"heading-anchor\" href=\"#django.db.models.Field.auto_created\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Boolesk flagga som anger om fältet skapades automatiskt, t.ex. <code class=\"docutils literal notranslate\"><span class=\"pre\">OneToOneField</span></code> som används vid modellarv.</p>\n</dd></dl>\n\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.db.models.Field.concrete\">\n<span class=\"sig-prename descclassname\"><span class=\"pre\">Field.</span></span><span class=\"sig-name descname\"><span class=\"pre\">concrete</span></span><a class=\"heading-anchor\" href=\"#django.db.models.Field.concrete\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Boolesk flagga som anger om fältet har en databaskolumn associerad med sig.</p>\n</dd></dl>\n\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.db.models.Field.hidden\">\n<span class=\"sig-prename descclassname\"><span class=\"pre\">Field.</span></span><span class=\"sig-name descname\"><span class=\"pre\">hidden</span></span><a class=\"heading-anchor\" href=\"#django.db.models.Field.hidden\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Boolesk flagga som anger om ett fält är dolt och inte ska returneras av <a class=\"reference internal\" href=\"/sv/6.1/ref/models/meta/#django.db.models.options.Options.get_fields\" title=\"django.db.models.options.Options.get_fields\"><code class=\"xref py py-meth docutils literal notranslate\"><span class=\"pre\">Options.get_fields()</span></code></a> som standard. Ett exempel är det omvända fältet för en <a class=\"reference internal\" href=\"#django.db.models.ForeignKey\" title=\"django.db.models.ForeignKey\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">ForeignKey</span></code></a> med ett <code class=\"docutils literal notranslate\"><span class=\"pre\">related_name</span></code> som börjar med <code class=\"docutils literal notranslate\"><span class=\"pre\">'+'</span></code>.</p>\n</dd></dl>\n\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.db.models.Field.is_relation\">\n<span class=\"sig-prename descclassname\"><span class=\"pre\">Field.</span></span><span class=\"sig-name descname\"><span class=\"pre\">is_relation</span></span><a class=\"heading-anchor\" href=\"#django.db.models.Field.is_relation\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Boolesk flagga som anger om ett fält innehåller referenser till en eller flera andra modeller för dess funktionalitet (t.ex. <code class=\"docutils literal notranslate\"><span class=\"pre\">ForeignKey</span></code>, <code class=\"docutils literal notranslate\"><span class=\"pre\">ManyToManyField</span></code>, <code class=\"docutils literal notranslate\"><span class=\"pre\">OneToOneField</span></code>, etc.).</p>\n</dd></dl>\n\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.db.models.Field.model\">\n<span class=\"sig-prename descclassname\"><span class=\"pre\">Field.</span></span><span class=\"sig-name descname\"><span class=\"pre\">model</span></span><a class=\"heading-anchor\" href=\"#django.db.models.Field.model\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Returnerar den modell som fältet är definierat för. Om ett fält definieras på en superklass av en modell, kommer <code class=\"docutils literal notranslate\"><span class=\"pre\">model</span></code> att hänvisa till superklassen, inte klassen för instansen.</p>\n</dd></dl>\n\n</section>\n<section id=\"attributes-for-fields-with-relations\">\n<h2>Attribut för fält med relationer<a class=\"heading-anchor\" href=\"#attributes-for-fields-with-relations\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<p>Dessa attribut används för att fråga efter kardinalitet och andra detaljer i en relation. Dessa attribut finns på alla fält, men de har endast booleska värden (i stället för <code class=\"docutils literal notranslate\"><span class=\"pre\">None</span></code>) om fältet är en relationstyp (<a class=\"reference internal\" href=\"#django.db.models.Field.is_relation\" title=\"django.db.models.Field.is_relation\"><code class=\"xref py py-attr docutils literal notranslate\"><span class=\"pre\">Field.is_relation=True</span></code></a>).</p>\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.db.models.Field.many_to_many\">\n<span class=\"sig-prename descclassname\"><span class=\"pre\">Field.</span></span><span class=\"sig-name descname\"><span class=\"pre\">many_to_many</span></span><a class=\"heading-anchor\" href=\"#django.db.models.Field.many_to_many\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Boolesk flagga som är <code class=\"docutils literal notranslate\"><span class=\"pre\">True</span></code> om fältet har en many-to-many-relation; <code class=\"docutils literal notranslate\"><span class=\"pre\">False</span></code> annars. Det enda fältet som ingår i Django där detta är <code class=\"docutils literal notranslate\"><span class=\"pre\">True</span></code> är <code class=\"docutils literal notranslate\"><span class=\"pre\">ManyToManyField</span></code>.</p>\n</dd></dl>\n\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.db.models.Field.many_to_one\">\n<span class=\"sig-prename descclassname\"><span class=\"pre\">Field.</span></span><span class=\"sig-name descname\"><span class=\"pre\">many_to_one</span></span><a class=\"heading-anchor\" href=\"#django.db.models.Field.many_to_one\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Boolesk flagga som är <code class=\"docutils literal notranslate\"><span class=\"pre\">True</span></code> om fältet har en många-till-en-relation, t.ex. en <code class=\"docutils literal notranslate\"><span class=\"pre\">ForeignKey</span></code>; annars <code class=\"docutils literal notranslate\"><span class=\"pre\">False</span></code>.</p>\n</dd></dl>\n\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.db.models.Field.one_to_many\">\n<span class=\"sig-prename descclassname\"><span class=\"pre\">Field.</span></span><span class=\"sig-name descname\"><span class=\"pre\">one_to_many</span></span><a class=\"heading-anchor\" href=\"#django.db.models.Field.one_to_many\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Boolesk flagga som är <code class=\"docutils literal notranslate\"><span class=\"pre\">True</span></code> om fältet har en en-till-många-relation, t.ex. en <code class=\"docutils literal notranslate\"><span class=\"pre\">GenericRelation</span></code> eller motsatsen till en <code class=\"docutils literal notranslate\"><span class=\"pre\">ForeignKey</span></code>; annars <code class=\"docutils literal notranslate\"><span class=\"pre\">False</span></code>.</p>\n</dd></dl>\n\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.db.models.Field.one_to_one\">\n<span class=\"sig-prename descclassname\"><span class=\"pre\">Field.</span></span><span class=\"sig-name descname\"><span class=\"pre\">one_to_one</span></span><a class=\"heading-anchor\" href=\"#django.db.models.Field.one_to_one\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Boolesk flagga som är <code class=\"docutils literal notranslate\"><span class=\"pre\">True</span></code> om fältet har en en-till-en-relation, t.ex. ett <code class=\"docutils literal notranslate\"><span class=\"pre\">OneToOneField</span></code>; annars <code class=\"docutils literal notranslate\"><span class=\"pre\">False</span></code>.</p>\n</dd></dl>\n\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.db.models.Field.related_model\">\n<span class=\"sig-prename descclassname\"><span class=\"pre\">Field.</span></span><span class=\"sig-name descname\"><span class=\"pre\">related_model</span></span><a class=\"heading-anchor\" href=\"#django.db.models.Field.related_model\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Pekar på den modell som fältet hänför sig till. Till exempel: <code class=\"docutils literal notranslate\"><span class=\"pre\">Author</span></code> i <code class=\"docutils literal notranslate\"><span class=\"pre\">ForeignKey(Author,</span> <span class=\"pre\">on_delete=models.CASCADE)</span></code>. Den <code class=\"docutils literal notranslate\"><span class=\"pre\">related_model</span></code> för en <code class=\"docutils literal notranslate\"><span class=\"pre\">GenericForeignKey</span></code> är alltid <code class=\"docutils literal notranslate\"><span class=\"pre\">None</span></code>.</p>\n</dd></dl>\n\n</section>\n</section>\n","rootId":"","toc":[{"title":"Referens till modellfält","anchor":"","children":[{"title":"Alternativ för fält","anchor":"field-options","children":[{"title":"null","anchor":"null","children":[]},{"title":"blank","anchor":"blank","children":[]},{"title":"val","anchor":"choices","children":[{"title":"Uppräkningstyper","anchor":"enumeration-types","children":[]}]},{"title":"db_kolumn","anchor":"db-column","children":[]},{"title":"db_kommentar","anchor":"db-comment","children":[]},{"title":"db_default","anchor":"db-default","children":[]},{"title":"db_index","anchor":"db-index","children":[]},{"title":"db_tablespace","anchor":"db-tablespace","children":[]},{"title":"standard","anchor":"default","children":[]},{"title":"”redigerbar","anchor":"editable","children":[]},{"title":"Felmeddelanden","anchor":"error-messages","children":[]},{"title":"hjälp_text","anchor":"help-text","children":[]},{"title":"primär_nyckel","anchor":"primary-key","children":[]},{"title":"unique","anchor":"unique","children":[]},{"title":"unique_for_date","anchor":"unique-for-date","children":[]},{"title":"unika_för_månad","anchor":"unique-for-month","children":[]},{"title":"unique_for_year","anchor":"unique-for-year","children":[]},{"title":"verbose_namn","anchor":"verbose-name","children":[]},{"title":"validerare","anchor":"validators","children":[]}]},{"title":"Fälttyper","anchor":"field-types","children":[{"title":"AutoField","anchor":"autofield","children":[]},{"title":"BigAutoField","anchor":"bigautofield","children":[]},{"title":"BigIntegerField","anchor":"bigintegerfield","children":[]},{"title":"BinaryField","anchor":"binaryfield","children":[]},{"title":"BooleanField","anchor":"booleanfield","children":[]},{"title":"SammansattPrimärnyckel","anchor":"compositeprimarykey","children":[]},{"title":"CharField","anchor":"charfield","children":[]},{"title":"DateField","anchor":"datefield","children":[]},{"title":"DatumTimeField","anchor":"datetimefield","children":[]},{"title":"DecimalField","anchor":"decimalfield","children":[]},{"title":"DurationField","anchor":"durationfield","children":[]},{"title":"EmailField","anchor":"emailfield","children":[]},{"title":"FileField","anchor":"filefield","children":[{"title":"FileField och FieldFile","anchor":"filefield-and-fieldfile","children":[]}]},{"title":"FilePathField","anchor":"filepathfield","children":[]},{"title":"FloatField","anchor":"floatfield","children":[]},{"title":"GeneratedField","anchor":"generatedfield","children":[]},{"title":"GenericIPAddressField","anchor":"genericipaddressfield","children":[]},{"title":"ImageField","anchor":"imagefield","children":[]},{"title":"IntegerField","anchor":"integerfield","children":[]},{"title":"JSONField","anchor":"jsonfield","children":[]},{"title":"PositivBigIntegerField","anchor":"positivebigintegerfield","children":[]},{"title":"PositivIntegerField","anchor":"positiveintegerfield","children":[]},{"title":"Positiv liten heltalsfält","anchor":"positivesmallintegerfield","children":[]},{"title":"SlugField","anchor":"slugfield","children":[]},{"title":"SmallAutoField","anchor":"smallautofield","children":[]},{"title":"LitenIntegerField","anchor":"smallintegerfield","children":[]},{"title":"Textfält","anchor":"textfield","children":[]},{"title":"TimeField","anchor":"timefield","children":[]},{"title":"URL-fält","anchor":"urlfield","children":[]},{"title":"UUIDField","anchor":"uuidfield","children":[]}]},{"title":"Relationsfält","anchor":"module-django.db.models.fields.related","children":[{"title":"ForeignKey","anchor":"foreignkey","children":[{"title":"Databasrepresentation","anchor":"database-representation","children":[]},{"title":"Argument","anchor":"arguments","children":[]}]},{"title":"ManyToManyField","anchor":"manytomanyfield","children":[{"title":"Databasrepresentation","anchor":"id2","children":[]},{"title":"Argument","anchor":"manytomany-arguments","children":[]}]},{"title":"OneToOneField","anchor":"onetoonefield","children":[]},{"title":"Lata relationer","anchor":"lazy-relationships","children":[{"title":"Rekursiv","anchor":"recursive","children":[]},{"title":"Relativ","anchor":"relative","children":[]},{"title":"Absolut","anchor":"absolute","children":[]}]}]},{"title":"API-referens för fält","anchor":"field-api-reference","children":[]},{"title":"Registrering och hämtning av uppslagsord","anchor":"registering-and-fetching-lookups","children":[]}]},{"title":"Referens till fältattribut","anchor":"field-attribute-reference","children":[{"title":"Attribut för fält","anchor":"attributes-for-fields","children":[]},{"title":"Attribut för fält med relationer","anchor":"attributes-for-fields-with-relations","children":[]}]}],"breadcrumbs":[{"docname":"ref/index","title":"API-referens","url":"/sv/6.1/ref/"},{"docname":"ref/models/index","title":"Modeller","url":"/sv/6.1/ref/models/"}],"prev":{"docname":"ref/models/index","title":"Modeller","url":"/sv/6.1/ref/models/"},"next":{"docname":"ref/models/indexes","title":"Referens till modellindex","url":"/sv/6.1/ref/models/indexes/"},"formats":{"html":"/sv/6.1/ref/models/fields/","markdown":"/sv/6.1/ref/models/fields.md","json":"/sv/6.1/ref/models/fields.json"},"source":"https://github.com/django/django/blob/stable/6.1.x/docs/ref/models/fields.txt","official":"https://docs.djangoproject.com/sv/6.1/ref/models/fields/","inVersions":["6.1","6.0","5.2"],"inLocales":["en","sv","zh-hans","ga","fr","ja","id","it","pt-br","ko","es","el","pl"]}