{"title":"Referens till modellfält","version":"5.2","locale":"sv","docname":"ref/models/fields","url":"/sv/5.2/ref/models/fields/","canonical":"https://djangodocs.dev/sv/5.2/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.","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\">Field</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-seealso\" role=\"note\">\n<p class=\"admonition-title\">Se även</p>\n<p>Om de inbyggda fälten inte räcker till kan du prova <a class=\"extlink-pypi reference external\" href=\"https://pypi.org/project/django-localflavor/\">django-localflavor</a> (<a class=\"reference external\" href=\"https://django-localflavor.readthedocs.io/\">dokumentation</a>), som innehåller olika kodstycken som är användbara för vissa länder och kulturer.</p>\n<p>Du kan också enkelt <a class=\"reference internal\" href=\"/sv/5.2/howto/custom-model-fields/\"><span class=\"doc\">skriva dina egna anpassade modellfält</span></a>.</p>\n</aside>\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\">django.db.models.fields</code></a>, men för enkelhetens skull importeras de till <a class=\"reference internal\" href=\"/sv/5.2/topics/db/models/#module-django.db.models\" title=\"django.db.models\"><code class=\"xref py py-mod docutils literal notranslate\">django.db.models</code></a>. Standardkonventionen är att använda <code class=\"docutils literal notranslate\">from django.db import models</code> och referera till fält som <code class=\"docutils literal notranslate\">models.&lt;Foo&gt;Field</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\">null</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\">Field.</span><span class=\"sig-name descname\">null</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\">True</code>, kommer Django att lagra tomma värden som <code class=\"docutils literal notranslate\">NULL</code> i databasen. Standard är <code class=\"docutils literal notranslate\">False</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\">null</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\">CharField</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\">TextField</code></a>. Django-konventionen är att använda en tom sträng, inte <code class=\"docutils literal notranslate\">NULL</code>, som ”inga data”-tillstånd för strängbaserade fält. Om ett strängbaserat fält har <code class=\"docutils literal notranslate\">null=False</code> kan tomma strängar fortfarande sparas för ”inga data”. Om ett strängbaserat fält har <code class=\"docutils literal notranslate\">null=True</code>, betyder det att det har två möjliga värden för ”no data”: <code class=\"docutils literal notranslate\">NULL</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\">CharField</code></a> har både <code class=\"docutils literal notranslate\">unique=True</code> och <code class=\"docutils literal notranslate\">blank=True</code> inställda. I den här situationen krävs <code class=\"docutils literal notranslate\">null=True</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\">blank=True</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\">null</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\">blank</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\">NULL</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\">blank</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\">Field.</span><span class=\"sig-name descname\">blank</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\">True</code>, får fältet vara tomt. Standard är <code class=\"docutils literal notranslate\">False</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\">null</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\">null</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\">blank</code></a> är valideringsrelaterat. Om ett fält har <code class=\"docutils literal notranslate\">blank=True</code>, tillåter formulärvalidering att ett tomt värde anges. Om ett fält har <code class=\"docutils literal notranslate\">blank=False</code> kommer fältet att vara obligatoriskt.</p>\n<aside class=\"admonition-supplying-missing-values admonition\" role=\"note\">\n<p class=\"admonition-title\">Tillhandahållande av saknade värden</p>\n<p><code class=\"docutils literal notranslate\">blank=True</code> kan användas med fält som har <code class=\"docutils literal notranslate\">null=False</code>, men detta kommer att kräva implementering av <a class=\"reference internal\" href=\"/sv/5.2/ref/models/instances/#django.db.models.Model.clean\" title=\"django.db.models.Model.clean\"><code class=\"xref py py-meth docutils literal notranslate\">clean()</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\">val</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\">Field.</span><span class=\"sig-name descname\">choices</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/5.2/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>YEAR_IN_SCHOOL_CHOICES <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\">[(A1, B1), (A2, B2), ...]</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>YEAR_IN_SCHOOL_CHOICES <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\">choices</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=\"nf\">get_currencies</span><span class=\"p\">():</span>\n    <span class=\"k\">return</span> <span class=\"p\">{</span>i<span class=\"p\">:</span> i <span class=\"k\">for</span> i <span class=\"ow\">in</span> settings<span class=\"o\">.</span>CURRENCIES<span class=\"p\">}</span>\n\n\n<span class=\"k\">class</span> <span class=\"nc\">Expense</span><span class=\"p\">(</span>models<span class=\"o\">.</span>Model<span class=\"p\">):</span>\n    amount <span class=\"o\">=</span> models<span class=\"o\">.</span>DecimalField<span class=\"p\">(</span>max_digits<span class=\"o\">=</span><span class=\"mi\">10</span><span class=\"p\">,</span> decimal_places<span class=\"o\">=</span><span class=\"mi\">2</span><span class=\"p\">)</span>\n    currency <span class=\"o\">=</span> models<span class=\"o\">.</span>CharField<span class=\"p\">(</span>max_length<span class=\"o\">=</span><span class=\"mi\">3</span><span class=\"p\">,</span> choices<span class=\"o\">=</span>get_currencies<span class=\"p\">)</span>\n</code></pre></div>\n<p>Att skicka en callable för <code class=\"docutils literal notranslate\">choices</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=\"nn\">django.db</span> <span class=\"kn\">import</span> models\n\n\n<span class=\"k\">class</span> <span class=\"nc\">Student</span><span class=\"p\">(</span>models<span class=\"o\">.</span>Model<span class=\"p\">):</span>\n    FRESHMAN <span class=\"o\">=</span> <span class=\"s2\">&quot;FR&quot;</span>\n    SOPHOMORE <span class=\"o\">=</span> <span class=\"s2\">&quot;SO&quot;</span>\n    JUNIOR <span class=\"o\">=</span> <span class=\"s2\">&quot;JR&quot;</span>\n    SENIOR <span class=\"o\">=</span> <span class=\"s2\">&quot;SR&quot;</span>\n    GRADUATE <span class=\"o\">=</span> <span class=\"s2\">&quot;GR&quot;</span>\n    YEAR_IN_SCHOOL_CHOICES <span class=\"o\">=</span> <span class=\"p\">{</span>\n        FRESHMAN<span class=\"p\">:</span> <span class=\"s2\">&quot;Freshman&quot;</span><span class=\"p\">,</span>\n        SOPHOMORE<span class=\"p\">:</span> <span class=\"s2\">&quot;Sophomore&quot;</span><span class=\"p\">,</span>\n        JUNIOR<span class=\"p\">:</span> <span class=\"s2\">&quot;Junior&quot;</span><span class=\"p\">,</span>\n        SENIOR<span class=\"p\">:</span> <span class=\"s2\">&quot;Senior&quot;</span><span class=\"p\">,</span>\n        GRADUATE<span class=\"p\">:</span> <span class=\"s2\">&quot;Graduate&quot;</span><span class=\"p\">,</span>\n    <span class=\"p\">}</span>\n    year_in_school <span class=\"o\">=</span> models<span class=\"o\">.</span>CharField<span class=\"p\">(</span>\n        max_length<span class=\"o\">=</span><span class=\"mi\">2</span><span class=\"p\">,</span>\n        choices<span class=\"o\">=</span>YEAR_IN_SCHOOL_CHOICES<span class=\"p\">,</span>\n        default<span class=\"o\">=</span>FRESHMAN<span class=\"p\">,</span>\n    <span class=\"p\">)</span>\n\n    <span class=\"k\">def</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>year_in_school <span class=\"ow\">in</span> <span class=\"p\">{</span><span class=\"bp\">self</span><span class=\"o\">.</span>JUNIOR<span class=\"p\">,</span> <span class=\"bp\">self</span><span class=\"o\">.</span>SENIOR<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\">Student.SOPHOMORE</code> överallt där modellen <code class=\"docutils literal notranslate\">Student</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>MEDIA_CHOICES <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\">&quot;unknown&quot;</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>MEDIA_CHOICES <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\">choices</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\">ForeignKey</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\">choices</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\">valen</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\">choices</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/5.2/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\">get_FOO_display()</code></a> i API-dokumentationen för databasen.</p>\n<p id=\"field-choices-blank-label\">Om inte <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\">blank=False</code></a> anges för fältet tillsammans med <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\">default</code></a> kommer en etikett som innehåller <code class=\"docutils literal notranslate\">&quot;---------&quot;</code> att återges med valboxen. Om du vill åsidosätta detta beteende lägger du till en tupel i <code class=\"docutils literal notranslate\">choices</code> som innehåller <code class=\"docutils literal notranslate\">None</code>, t.ex. <code class=\"docutils literal notranslate\">(None, 'Your String For Display')</code>. Alternativt kan du använda en tom sträng istället för <code class=\"docutils literal notranslate\">None</code> där detta är meningsfullt - till exempel 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\">CharField</code></a>.</p>\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=\"nn\">django.utils.translation</span> <span class=\"kn\">import</span> gettext_lazy <span class=\"k\">as</span> _\n\n\n<span class=\"k\">class</span> <span class=\"nc\">Student</span><span class=\"p\">(</span>models<span class=\"o\">.</span>Model<span class=\"p\">):</span>\n    <span class=\"k\">class</span> <span class=\"nc\">YearInSchool</span><span class=\"p\">(</span>models<span class=\"o\">.</span>TextChoices<span class=\"p\">):</span>\n        FRESHMAN <span class=\"o\">=</span> <span class=\"s2\">&quot;FR&quot;</span><span class=\"p\">,</span> _<span class=\"p\">(</span><span class=\"s2\">&quot;Freshman&quot;</span><span class=\"p\">)</span>\n        SOPHOMORE <span class=\"o\">=</span> <span class=\"s2\">&quot;SO&quot;</span><span class=\"p\">,</span> _<span class=\"p\">(</span><span class=\"s2\">&quot;Sophomore&quot;</span><span class=\"p\">)</span>\n        JUNIOR <span class=\"o\">=</span> <span class=\"s2\">&quot;JR&quot;</span><span class=\"p\">,</span> _<span class=\"p\">(</span><span class=\"s2\">&quot;Junior&quot;</span><span class=\"p\">)</span>\n        SENIOR <span class=\"o\">=</span> <span class=\"s2\">&quot;SR&quot;</span><span class=\"p\">,</span> _<span class=\"p\">(</span><span class=\"s2\">&quot;Senior&quot;</span><span class=\"p\">)</span>\n        GRADUATE <span class=\"o\">=</span> <span class=\"s2\">&quot;GR&quot;</span><span class=\"p\">,</span> _<span class=\"p\">(</span><span class=\"s2\">&quot;Graduate&quot;</span><span class=\"p\">)</span>\n\n    year_in_school <span class=\"o\">=</span> models<span class=\"o\">.</span>CharField<span class=\"p\">(</span>\n        max_length<span class=\"o\">=</span><span class=\"mi\">2</span><span class=\"p\">,</span>\n        choices<span class=\"o\">=</span>YearInSchool<span class=\"p\">,</span>\n        default<span class=\"o\">=</span>YearInSchool<span class=\"o\">.</span>FRESHMAN<span class=\"p\">,</span>\n    <span class=\"p\">)</span>\n\n    <span class=\"k\">def</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>year_in_school <span class=\"ow\">in</span> <span class=\"p\">{</span>\n            <span class=\"bp\">self</span><span class=\"o\">.</span>YearInSchool<span class=\"o\">.</span>JUNIOR<span class=\"p\">,</span>\n            <span class=\"bp\">self</span><span class=\"o\">.</span>YearInSchool<span class=\"o\">.</span>SENIOR<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\">enum</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\">label</code>. <code class=\"docutils literal notranslate\">label</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\">(värde, etikett)</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\">label</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\">.label</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\">.choices</code>, <code class=\"docutils literal notranslate\">.labels</code>, <code class=\"docutils literal notranslate\">.values</code> och <code class=\"docutils literal notranslate\">.names</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>Användningen av <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\">enum.unique()</code></a> är tvingande för att säkerställa att värden inte kan definieras flera gånger. Det är osannolikt att detta förväntas i val för ett fält.</p></li>\n</ul>\n<p>Observera att användning av <code class=\"docutils literal notranslate\">YearInSchool.SENIOR</code>, <code class=\"docutils literal notranslate\">YearInSchool['SENIOR']</code> eller <code class=\"docutils literal notranslate\">YearInSchool('SR')</code> för att komma åt eller slå upp enum-medlemmar fungerar som förväntat, liksom egenskaperna <code class=\"docutils literal notranslate\">.name</code> och <code class=\"docutils literal notranslate\">.value</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=\"nc\">Vehicle</span><span class=\"p\">(</span>models<span class=\"o\">.</span>TextChoices<span class=\"p\">):</span>\n<span class=\"gp\">... </span>    CAR <span class=\"o\">=</span> <span class=\"s2\">&quot;C&quot;</span>\n<span class=\"gp\">... </span>    TRUCK <span class=\"o\">=</span> <span class=\"s2\">&quot;T&quot;</span>\n<span class=\"gp\">... </span>    JET_SKI <span class=\"o\">=</span> <span class=\"s2\">&quot;J&quot;</span>\n<span class=\"gp\">...</span>\n<span class=\"gp\">&gt;&gt;&gt; </span>Vehicle<span class=\"o\">.</span>JET_SKI<span class=\"o\">.</span>label\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\">IntegerChoices</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=\"nc\">Card</span><span class=\"p\">(</span>models<span class=\"o\">.</span>Model<span class=\"p\">):</span>\n    <span class=\"k\">class</span> <span class=\"nc\">Suit</span><span class=\"p\">(</span>models<span class=\"o\">.</span>IntegerChoices<span class=\"p\">):</span>\n        DIAMOND <span class=\"o\">=</span> <span class=\"mi\">1</span>\n        SPADE <span class=\"o\">=</span> <span class=\"mi\">2</span>\n        HEART <span class=\"o\">=</span> <span class=\"mi\">3</span>\n        CLUB <span class=\"o\">=</span> <span class=\"mi\">4</span>\n\n    suit <span class=\"o\">=</span> models<span class=\"o\">.</span>IntegerField<span class=\"p\">(</span>choices<span class=\"o\">=</span>Suit<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>MedalType <span class=\"o\">=</span> models<span class=\"o\">.</span>TextChoices<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>MedalType<span class=\"o\">.</span>choices\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>Place <span class=\"o\">=</span> models<span class=\"o\">.</span>IntegerChoices<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>Place<span class=\"o\">.</span>choices\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\">int</code> eller <code class=\"docutils literal notranslate\">str</code> kan du subklassa <code class=\"docutils literal notranslate\">Choices</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\">date</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\">DateField</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=\"nc\">MoonLandings</span><span class=\"p\">(</span>datetime<span class=\"o\">.</span>date<span class=\"p\">,</span> models<span class=\"o\">.</span>Choices<span class=\"p\">):</span>\n    APOLLO_11 <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    APOLLO_12 <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    APOLLO_14 <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    APOLLO_15 <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    APOLLO_16 <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    APOLLO_17 <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\">None</code>. Istället ställer du in attributet <code class=\"docutils literal notranslate\">__empty__</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=\"nc\">Answer</span><span class=\"p\">(</span>models<span class=\"o\">.</span>IntegerChoices<span class=\"p\">):</span>\n    NO <span class=\"o\">=</span> <span class=\"mi\">0</span><span class=\"p\">,</span> _<span class=\"p\">(</span><span class=\"s2\">&quot;No&quot;</span><span class=\"p\">)</span>\n    YES <span class=\"o\">=</span> <span class=\"mi\">1</span><span class=\"p\">,</span> _<span class=\"p\">(</span><span class=\"s2\">&quot;Yes&quot;</span><span class=\"p\">)</span>\n\n    __empty__ <span class=\"o\">=</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\">db_kolumn</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\">Field.</span><span class=\"sig-name descname\">db_column</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\">db_kommentar</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\">Field.</span><span class=\"sig-name descname\">db_comment</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>pub_date <span class=\"o\">=</span> models<span class=\"o\">.</span>DateTimeField<span class=\"p\">(</span>\n    db_comment<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\">db_default</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\">Field.</span><span class=\"sig-name descname\">db_default</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/5.2/ref/models/database-functions/#django.db.models.functions.Now\" title=\"django.db.models.functions.Now\"><code class=\"xref py py-class docutils literal notranslate\">Now</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>created <span class=\"o\">=</span> models<span class=\"o\">.</span>DateTimeField<span class=\"p\">(</span>db_default<span class=\"o\">=</span>Now<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>month_due <span class=\"o\">=</span> models<span class=\"o\">.</span>DateField<span class=\"p\">(</span>\n    db_default<span class=\"o\">=</span>TruncMonth<span class=\"p\">(</span>\n        Now<span class=\"p\">()</span> <span class=\"o\">+</span> timedelta<span class=\"p\">(</span>days<span class=\"o\">=</span><span class=\"mi\">90</span><span class=\"p\">),</span>\n        output_field<span class=\"o\">=</span>models<span class=\"o\">.</span>DateField<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>end <span class=\"o\">=</span> models<span class=\"o\">.</span>IntegerField<span class=\"p\">(</span>db_default<span class=\"o\">=</span>F<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\">db_default</code> och <code class=\"xref py py-attr docutils literal notranslate\">Field.default`</code> är inställda kommer <code class=\"docutils literal notranslate\">default</code> att ha företräde när instanser skapas i Python-kod. <code class=\"docutils literal notranslate\">db_default</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\">db_default</code> utan att ett <code class=\"docutils literal notranslate\">default</code> har angetts och inget värde har tilldelats fältet, returneras ett <code class=\"docutils literal notranslate\">DatabaseDefault</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\">db_index</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\">Field.</span><span class=\"sig-name descname\">db_index</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\">True</code>, skapas ett databasindex för detta fält.</p>\n<aside class=\"admonition-use-the-attr-options-indexes-option-instead admonition\" role=\"note\">\n<p class=\"admonition-title\">Använd alternativet <a class=\"reference internal\" href=\"/sv/5.2/ref/models/options/#django.db.models.Options.indexes\" title=\"django.db.models.Options.indexes\"><code class=\"xref py py-attr docutils literal notranslate\">indexes</code></a> istället.</p>\n<p>Där det är möjligt, använd alternativet <a class=\"reference internal\" href=\"/sv/5.2/ref/models/options/#django.db.models.Options.indexes\" title=\"django.db.models.Options.indexes\"><code class=\"xref py py-attr docutils literal notranslate\">Meta.indexes</code></a> istället. I nästan alla fall ger <a class=\"reference internal\" href=\"/sv/5.2/ref/models/options/#django.db.models.Options.indexes\" title=\"django.db.models.Options.indexes\"><code class=\"xref py py-attr docutils literal notranslate\">indexes</code></a> mer funktionalitet än <code class=\"docutils literal notranslate\">db_index</code>. <code class=\"docutils literal notranslate\">db_index</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\">db_tablespace</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\">Field.</span><span class=\"sig-name descname\">db_tablespace</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/5.2/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/5.2/ref/settings/#std-setting-DEFAULT_INDEX_TABLESPACE\"><code class=\"xref std std-setting docutils literal notranslate\">DEFAULT_INDEX_TABLESPACE</code></a>-inställning, om den är inställd, eller modellens <a class=\"reference internal\" href=\"/sv/5.2/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\">db_tablespace</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\">standard</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\">Field.</span><span class=\"sig-name descname\">default</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\">list</code>, <code class=\"docutils literal notranslate\">set</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\">dict</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\">JSONField</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=\"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\ncontact_info <span class=\"o\">=</span> JSONField<span class=\"p\">(</span><span class=\"s2\">&quot;ContactInfo&quot;</span><span class=\"p\">,</span> default<span class=\"o\">=</span>contact_default<span class=\"p\">)</span>\n</code></pre></div>\n<p><code class=\"docutils literal notranslate\">lambda</code> kan inte användas för fältalternativ som <code class=\"docutils literal notranslate\">default</code> eftersom de inte kan <a class=\"reference internal\" href=\"/sv/5.2/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\">ForeignKey</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\">pk</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\">to_field</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\">None</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\">Field.db_default</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\">Field.</span><span class=\"sig-name descname\">editable</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\">False</code>, kommer fältet inte att visas i admin eller någon annan <a class=\"reference internal\" href=\"/sv/5.2/topics/forms/modelforms/#django.forms.ModelForm\" title=\"django.forms.ModelForm\"><code class=\"xref py py-class docutils literal notranslate\">ModelForm</code></a>. Det kommer också att hoppas över under <a class=\"reference internal\" href=\"/sv/5.2/ref/models/instances/#validating-objects\"><span class=\"std std-ref\">modellvalidering</span></a>. Standard är <code class=\"docutils literal notranslate\">True</code>.</p>\n</section>\n<section id=\"error-messages\">\n<h3><code class=\"docutils literal notranslate\">Felmeddelanden</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\">Field.</span><span class=\"sig-name descname\">error_messages</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\">error_messages</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\">null</code>, <code class=\"docutils literal notranslate\">blank</code>, <code class=\"docutils literal notranslate\">invalid</code>, <code class=\"docutils literal notranslate\">invalid_choice</code>, <code class=\"docutils literal notranslate\">unique</code> och <code class=\"docutils literal notranslate\">unique_for_date</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\">hjälp_text</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\">Field.</span><span class=\"sig-name descname\">help_text</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\">help_text</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>help_text <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/5.2/ref/utils/#django.utils.html.escape\" title=\"django.utils.html.escape\"><code class=\"xref py py-func docutils literal notranslate\">django.utils.html.escape()</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\">primär_nyckel</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\">Field.</span><span class=\"sig-name descname\">primary_key</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\">True</code>, är detta fält primärnyckel för modellen.</p>\n<p>Om du inte anger <code class=\"docutils literal notranslate\">primary_key=True</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\">primary_key=True</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/5.2/ref/applications/#django.apps.AppConfig.default_auto_field\" title=\"django.apps.AppConfig.default_auto_field\"><code class=\"xref py py-attr docutils literal notranslate\">AppConfig.default_auto_field</code></a> eller globalt i inställningen <a class=\"reference internal\" href=\"/sv/5.2/ref/settings/#std-setting-DEFAULT_AUTO_FIELD\"><code class=\"xref std std-setting docutils literal notranslate\">DEFAULT_AUTO_FIELD</code></a>. För mer information, se <a class=\"reference internal\" href=\"/sv/5.2/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\">primary_key=True</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\">null=False</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\">unique=True</code></a>. Endast ett fält per modell kan ange <code class=\"docutils literal notranslate\">primary_key=True</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\">CompositePrimaryKey</code></a> i stället för att sätta denna flagga till <code class=\"docutils literal notranslate\">True</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>Primärnyckelfältet sätts till <code class=\"docutils literal notranslate\">None</code> när <a class=\"reference internal\" href=\"/sv/5.2/ref/models/instances/#django.db.models.Model.delete\" title=\"django.db.models.Model.delete\"><code class=\"xref py py-meth docutils literal notranslate\">deleting</code></a> ett objekt.</p>\n<aside class=\"version-note version-changed\" data-version=\"5.2\" role=\"note\">\n<p class=\"version-note-title\">Changed in Django 5.2</p><p>Fältet <code class=\"docutils literal notranslate\">CompositePrimaryKey</code> har lagts till.</p>\n</aside>\n</section>\n<section id=\"unique\">\n<h3><code class=\"docutils literal notranslate\">unique</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\">Field.</span><span class=\"sig-name descname\">unique</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\">True</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\">unique</code></a>-fält, kommer ett <a class=\"reference internal\" href=\"/sv/5.2/ref/exceptions/#django.db.IntegrityError\" title=\"django.db.IntegrityError\"><code class=\"xref py py-exc docutils literal notranslate\">django.db.IntegrityError</code></a> att skapas av modellens <a class=\"reference internal\" href=\"/sv/5.2/ref/models/instances/#django.db.models.Model.save\" title=\"django.db.models.Model.save\"><code class=\"xref py py-meth docutils literal notranslate\">save()</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\">ManyToManyField</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\">OneToOneField</code></a>.</p>\n<p>Observera att när <code class=\"docutils literal notranslate\">unique</code> är <code class=\"docutils literal notranslate\">True</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\">db_index</code></a>, eftersom <code class=\"docutils literal notranslate\">unique</code> innebär att ett index skapas.</p>\n</section>\n<section id=\"unique-for-date\">\n<h3><code class=\"docutils literal notranslate\">unique_for_date</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\">Field.</span><span class=\"sig-name descname\">unique_for_date</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\">DateField</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\">DateTimeField</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\">title</code> som har <code class=\"docutils literal notranslate\">unique_for_date=&quot;pub_date&quot;</code>, så skulle Django inte tillåta att två poster med samma <code class=\"docutils literal notranslate\">title</code> och <code class=\"docutils literal notranslate\">pub_date</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\">DateTimeField</code></a>, kommer endast datumdelen av fältet att beaktas. Dessutom, när <a class=\"reference internal\" href=\"/sv/5.2/ref/settings/#std-setting-USE_TZ\"><code class=\"xref std std-setting docutils literal notranslate\">USE_TZ</code></a> är <code class=\"docutils literal notranslate\">True</code>, kommer kontrollen att utföras i <a class=\"reference internal\" href=\"/sv/5.2/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>Detta verkställs av <a class=\"reference internal\" href=\"/sv/5.2/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\">Model.validate_unique()</code></a> under modellvalidering men inte på databasnivå. Om någon <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\">unique_for_date</code></a>-restriktion involverar fält som inte är en del av en <a class=\"reference internal\" href=\"/sv/5.2/topics/forms/modelforms/#django.forms.ModelForm\" title=\"django.forms.ModelForm\"><code class=\"xref py py-class docutils literal notranslate\">ModelForm</code></a> (till exempel om ett av fälten är listat i <code class=\"docutils literal notranslate\">exclude</code> eller har <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\">editable=False</code></a>), kommer <a class=\"reference internal\" href=\"/sv/5.2/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\">Model.validate_unique()</code></a> att hoppa över valideringen för den specifika restriktionen.</p>\n</section>\n<section id=\"unique-for-month\">\n<h3><code class=\"docutils literal notranslate\">unika_för_månad</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\">Field.</span><span class=\"sig-name descname\">unique_for_month</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\">unique_for_date</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\">unique_for_year</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\">Field.</span><span class=\"sig-name descname\">unique_for_year</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\">unique_for_date</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\">unique_for_month</code></a>.</p>\n</section>\n<section id=\"verbose-name\">\n<h3><code class=\"docutils literal notranslate\">verbose_namn</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\">Field.</span><span class=\"sig-name descname\">verbose_name</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/5.2/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\">validerare</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\">Field.</span><span class=\"sig-name descname\">validators</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/5.2/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\">AutoField</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\">class</span> </em><span class=\"sig-name descname\">AutoField</span><span class=\"sig-paren\">(</span><em class=\"sig-param\"><span class=\"o\">**</span>options</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\">IntegerField</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/5.2/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\">BigAutoField</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\">class</span> </em><span class=\"sig-name descname\">BigAutoField</span><span class=\"sig-paren\">(</span><em class=\"sig-param\"><span class=\"o\">**</span>options</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\">AutoField</code></a> förutom att det garanterat passar siffror från <code class=\"docutils literal notranslate\">1</code> till <code class=\"docutils literal notranslate\">9223372036854775807</code>.</p>\n</section>\n<section id=\"bigintegerfield\">\n<h3><code class=\"docutils literal notranslate\">BigIntegerField</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\">class</span> </em><span class=\"sig-name descname\">BigIntegerField</span><span class=\"sig-paren\">(</span><em class=\"sig-param\"><span class=\"o\">**</span>options</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\">IntegerField</code></a> förutom att det garanterat passar siffror från <code class=\"docutils literal notranslate\">-9223372036854775808</code> till <code class=\"docutils literal notranslate\">9223372036854775807</code>. Standardformulärwidgeten för detta fält är en <a class=\"reference internal\" href=\"/sv/5.2/ref/forms/widgets/#django.forms.NumberInput\" title=\"django.forms.NumberInput\"><code class=\"xref py py-class docutils literal notranslate\">NumberInput</code></a>.</p>\n</section>\n<section id=\"binaryfield\">\n<h3><code class=\"docutils literal notranslate\">BinaryField</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\">class</span> </em><span class=\"sig-name descname\">BinaryField</span><span class=\"sig-paren\">(</span><em class=\"sig-param\">max_length<span class=\"o\">=</span><span class=\"default_value\">None</span></em>, <em class=\"sig-param\"><span class=\"o\">**</span>options</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\">bytes</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\">bytearray</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\">memoryview</code></a>.</p>\n<p>Som standard ställer <code class=\"docutils literal notranslate\">BinaryField</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\">editable</code></a> till <code class=\"docutils literal notranslate\">False</code>, i vilket fall den inte kan inkluderas i en <a class=\"reference internal\" href=\"/sv/5.2/topics/forms/modelforms/#django.forms.ModelForm\" title=\"django.forms.ModelForm\"><code class=\"xref py py-class docutils literal notranslate\">ModelForm</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\">BinaryField.</span><span class=\"sig-name descname\">max_length</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/5.2/ref/validators/#django.core.validators.MaxLengthValidator\" title=\"django.core.validators.MaxLengthValidator\"><code class=\"xref py py-class docutils literal notranslate\">MaxLengthValidator</code></a>.</p>\n</dd></dl>\n\n<aside class=\"admonition-abusing-binaryfield admonition\" role=\"note\">\n<p class=\"admonition-title\">Missbruk av <code class=\"docutils literal notranslate\">BinaryField</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/5.2/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\">BooleanField</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\">class</span> </em><span class=\"sig-name descname\">BooleanField</span><span class=\"sig-paren\">(</span><em class=\"sig-param\"><span class=\"o\">**</span>options</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/5.2/ref/forms/widgets/#django.forms.CheckboxInput\" title=\"django.forms.CheckboxInput\"><code class=\"xref py py-class docutils literal notranslate\">CheckboxInput</code></a>, eller <a class=\"reference internal\" href=\"/sv/5.2/ref/forms/widgets/#django.forms.NullBooleanSelect\" title=\"django.forms.NullBooleanSelect\"><code class=\"xref py py-class docutils literal notranslate\">NullBooleanSelect</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\">null=True</code></a>.</p>\n<p>Standardvärdet för <code class=\"docutils literal notranslate\">BooleanField</code> är <code class=\"docutils literal notranslate\">None</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\">Field.default</code></a> inte är definierat.</p>\n</section>\n<section id=\"compositeprimarykey\">\n<h3><code class=\"docutils literal notranslate\">SammansattPrimärnyckel</code><a class=\"heading-anchor\" href=\"#compositeprimarykey\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<aside class=\"version-note version-added\" data-version=\"5.2\" role=\"note\">\n<p class=\"version-note-title\">New in Django 5.2</p></aside>\n<dl class=\"py class\">\n<dt class=\"sig sig-object py\" id=\"django.db.models.CompositePrimaryKey\">\n<em class=\"property\"><span class=\"k\">class</span> </em><span class=\"sig-name descname\">CompositePrimaryKey</span><span class=\"sig-paren\">(</span><em class=\"sig-param\"><span class=\"o\">*</span>field_names</em>, <em class=\"sig-param\"><span class=\"o\">**</span>options</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\">pk</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\">*field_names</code> är en lista med positionella fältnamn som utgör primärnyckeln.</p>\n<p>Se <a class=\"reference internal\" href=\"/sv/5.2/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\">CharField</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\">class</span> </em><span class=\"sig-name descname\">CharField</span><span class=\"sig-paren\">(</span><em class=\"sig-param\">max_length<span class=\"o\">=</span><span class=\"default_value\">None</span></em>, <em class=\"sig-param\"><span class=\"o\">**</span>options</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\">TextField</code></a>.</p>\n<p>Standardformulärwidgeten för detta fält är en <a class=\"reference internal\" href=\"/sv/5.2/ref/forms/widgets/#django.forms.TextInput\" title=\"django.forms.TextInput\"><code class=\"xref py py-class docutils literal notranslate\">TextInput</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\">CharField</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\">CharField.</span><span class=\"sig-name descname\">max_length</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\">max_length</code> verkställs på databasnivå och i Djangos validering med hjälp av <a class=\"reference internal\" href=\"/sv/5.2/ref/validators/#django.core.validators.MaxLengthValidator\" title=\"django.core.validators.MaxLengthValidator\"><code class=\"xref py py-class docutils literal notranslate\">MaxLengthValidator</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\">VARCHAR</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\">max_length</code> för vissa backends. Se <span class=\"xref std std-doc\">Databas backend notes</span> för mer information.</p>\n</aside>\n<aside class=\"version-note version-changed\" data-version=\"5.2\" role=\"note\">\n<p class=\"version-note-title\">Changed in Django 5.2</p><p>Stöd för obegränsade <code class=\"docutils literal notranslate\">VARCHAR</code>-kolumner har lagts till i SQLite.</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\">CharField.</span><span class=\"sig-name descname\">db_collation</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\" role=\"note\">\n<p class=\"admonition-title\">Oracle</p>\n<p>Oracle stöder endast kollationering när databasinitialiseringsparametern <code class=\"docutils literal notranslate\">MAX_STRING_SIZE</code> är inställd på <code class=\"docutils literal notranslate\">EXTENDED</code>.</p>\n</aside>\n</dd></dl>\n\n</section>\n<section id=\"datefield\">\n<h3><code class=\"docutils literal notranslate\">DateField</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\">class</span> </em><span class=\"sig-name descname\">DateField</span><span class=\"sig-paren\">(</span><em class=\"sig-param\">auto_now<span class=\"o\">=</span><span class=\"default_value\">False</span></em>, <em class=\"sig-param\">auto_now_add<span class=\"o\">=</span><span class=\"default_value\">False</span></em>, <em class=\"sig-param\"><span class=\"o\">**</span>options</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\">datetime.date</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\">DateField.</span><span class=\"sig-name descname\">auto_now</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/5.2/ref/models/instances/#django.db.models.Model.save\" title=\"django.db.models.Model.save\"><code class=\"xref py py-meth docutils literal notranslate\">Model.save()</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/5.2/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\">QuerySet.update()</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\">DateField.</span><span class=\"sig-name descname\">auto_now_add</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\">auto_now_add=True</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\">DateField</code></a>: <code class=\"docutils literal notranslate\">default=date.today</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\">datetime.date.today()</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\">DateTimeField</code></a>: <code class=\"docutils literal notranslate\">default=timezone.now</code> - från <a class=\"reference internal\" href=\"/sv/5.2/ref/utils/#django.utils.timezone.now\" title=\"django.utils.timezone.now\"><code class=\"xref py py-func docutils literal notranslate\">django.utils.timezone.now()</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/5.2/ref/forms/widgets/#django.forms.DateInput\" title=\"django.forms.DateInput\"><code class=\"xref py py-class docutils literal notranslate\">DateInput</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\">invalid_date</code>.</p>\n<p>Alternativen <code class=\"docutils literal notranslate\">auto_now_add</code>, <code class=\"docutils literal notranslate\">auto_now</code> och <code class=\"docutils literal notranslate\">default</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\">editable=False</code> och <code class=\"docutils literal notranslate\">blank=True</code> om <code class=\"docutils literal notranslate\">auto_now</code> eller <code class=\"docutils literal notranslate\">auto_now_add</code> sätts till <code class=\"docutils literal notranslate\">True</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\">auto_now</code> och <code class=\"docutils literal notranslate\">auto_now_add</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\">save()</code> istället för att använda <code class=\"docutils literal notranslate\">auto_now</code> eller <code class=\"docutils literal notranslate\">auto_now_add</code>; eller använda en <code class=\"docutils literal notranslate\">DateTimeField</code> istället för en <code class=\"docutils literal notranslate\">DateField</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\">DateField</code></a> med en <code class=\"docutils literal notranslate\">datetime.date</code>-instans.</p>\n<p>Om du har en <code class=\"docutils literal notranslate\">datetime.datetime</code>-instans rekommenderas det att du konverterar den till en <code class=\"docutils literal notranslate\">datetime.date</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\">DateField</code></a> att lokalisera <code class=\"docutils literal notranslate\">datetime.datetime</code> till <a class=\"reference internal\" href=\"/sv/5.2/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\">datetime.date</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\">DateField</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\">timedelta</code></a> return a <code class=\"docutils literal notranslate\">datetime</code> instead of a <code class=\"docutils literal notranslate\">date</code>.\nThis occurs because Python’s <code class=\"docutils literal notranslate\">timedelta</code> is converted to SQL\n<code class=\"docutils literal notranslate\">INTERVAL</code>, and the SQL operation <code class=\"docutils literal notranslate\">date +/- interval</code> returns a\n<code class=\"docutils literal notranslate\">timestamp</code> on these databases.</p>\n<p>To ensure a <code class=\"docutils literal notranslate\">date</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=\"nn\">datetime</span>\n<span class=\"kn\">from</span> <span class=\"nn\">django.db.models</span> <span class=\"kn\">import</span> DateField<span class=\"p\">,</span> F\n<span class=\"kn\">from</span> <span class=\"nn\">django.db.models.functions</span> <span class=\"kn\">import</span> Cast\n\nqs <span class=\"o\">=</span> MyModel<span class=\"o\">.</span>objects<span class=\"o\">.</span>annotate<span class=\"p\">(</span>\n    previous_day<span class=\"o\">=</span>Cast<span class=\"p\">(</span>\n        F<span class=\"p\">(</span><span class=\"s2\">&quot;date_field&quot;</span><span class=\"p\">)</span> <span class=\"o\">-</span> datetime<span class=\"o\">.</span>timedelta<span class=\"p\">(</span>days<span class=\"o\">=</span><span class=\"mi\">1</span><span class=\"p\">),</span>\n        output_field<span class=\"o\">=</span>DateField<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=\"nn\">django.db.models</span> <span class=\"kn\">import</span> DateField<span class=\"p\">,</span> ExpressionWrapper<span class=\"p\">,</span> F\n\nqs <span class=\"o\">=</span> MyModel<span class=\"o\">.</span>objects<span class=\"o\">.</span>annotate<span class=\"p\">(</span>\n    previous_day<span class=\"o\">=</span>ExpressionWrapper<span class=\"p\">(</span>\n        F<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        output_field<span class=\"o\">=</span>DateField<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\">DatumTimeField</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\">class</span> </em><span class=\"sig-name descname\">DateTimeField</span><span class=\"sig-paren\">(</span><em class=\"sig-param\">auto_now<span class=\"o\">=</span><span class=\"default_value\">False</span></em>, <em class=\"sig-param\">auto_now_add<span class=\"o\">=</span><span class=\"default_value\">False</span></em>, <em class=\"sig-param\"><span class=\"o\">**</span>options</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\">datetime.datetime</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\">DateField</code></a>.</p>\n<p>Standardformulärwidgeten för detta fält är en enda <a class=\"reference internal\" href=\"/sv/5.2/ref/forms/widgets/#django.forms.DateTimeInput\" title=\"django.forms.DateTimeInput\"><code class=\"xref py py-class docutils literal notranslate\">DateTimeInput</code></a>. Administratören använder två separata <a class=\"reference internal\" href=\"/sv/5.2/ref/forms/widgets/#django.forms.TextInput\" title=\"django.forms.TextInput\"><code class=\"xref py py-class docutils literal notranslate\">TextInput</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\">DateTimeField</code></a> med en <code class=\"docutils literal notranslate\">datetime.datetime</code>-instans.</p>\n<p>Om du har en <code class=\"docutils literal notranslate\">datetime.date</code>-instans rekommenderas att du konverterar den till en <code class=\"docutils literal notranslate\">datetime.datetime</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\">DateTimeField</code></a> att använda midnatt i <a class=\"reference internal\" href=\"/sv/5.2/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\">DateTimeField</code></a> med en <code class=\"docutils literal notranslate\">datetime.date</code>-instans, använd <a class=\"reference internal\" href=\"/sv/5.2/ref/models/querysets/#std-fieldlookup-date\"><code class=\"xref std std-lookup docutils literal notranslate\">date</code></a> lookup.</p>\n</aside>\n</section>\n<section id=\"decimalfield\">\n<h3><code class=\"docutils literal notranslate\">DecimalField</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\">class</span> </em><span class=\"sig-name descname\">DecimalField</span><span class=\"sig-paren\">(</span><em class=\"sig-param\">max_digits<span class=\"o\">=</span><span class=\"default_value\">None</span></em>, <em class=\"sig-param\">decimal_places<span class=\"o\">=</span><span class=\"default_value\">None</span></em>, <em class=\"sig-param\"><span class=\"o\">**</span>options</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\">Decimal</code></a>-instans. Den validerar indata med hjälp av <a class=\"reference internal\" href=\"/sv/5.2/ref/validators/#django.core.validators.DecimalValidator\" title=\"django.core.validators.DecimalValidator\"><code class=\"xref py py-class docutils literal notranslate\">DecimalValidator</code></a>.</p>\n<p>Har följande <strong>krävda</strong> argument:</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\">DecimalField.</span><span class=\"sig-name descname\">max_digits</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>Det maximala antalet siffror som tillåts i talet. Observera att detta tal måste vara större än eller lika med <code class=\"docutils literal notranslate\">decimal_places</code>.</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\">DecimalField.</span><span class=\"sig-name descname\">decimal_places</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>Antalet decimaler som ska lagras med talet.</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>models<span class=\"o\">.</span>DecimalField<span class=\"p\">(</span><span class=\"o\">...</span><span class=\"p\">,</span> max_digits<span class=\"o\">=</span><span class=\"mi\">5</span><span class=\"p\">,</span> decimal_places<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>models<span class=\"o\">.</span>DecimalField<span class=\"p\">(</span><span class=\"o\">...</span><span class=\"p\">,</span> max_digits<span class=\"o\">=</span><span class=\"mi\">19</span><span class=\"p\">,</span> decimal_places<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/5.2/ref/forms/widgets/#django.forms.NumberInput\" title=\"django.forms.NumberInput\"><code class=\"xref py py-class docutils literal notranslate\">NumberInput</code></a> när <a class=\"reference internal\" href=\"/sv/5.2/ref/forms/fields/#django.forms.Field.localize\" title=\"django.forms.Field.localize\"><code class=\"xref py py-attr docutils literal notranslate\">localize</code></a> är <code class=\"docutils literal notranslate\">False</code> eller annars <a class=\"reference internal\" href=\"/sv/5.2/ref/forms/widgets/#django.forms.TextInput\" title=\"django.forms.TextInput\"><code class=\"xref py py-class docutils literal notranslate\">TextInput</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\">FloatField</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\">DecimalField</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/5.2/ref/databases/#sqlite-decimal-handling\"><span class=\"std std-ref\">SQLite-begränsningar</span></a> av decimalfält.</p>\n</aside>\n</section>\n<section id=\"durationfield\">\n<h3><code class=\"docutils literal notranslate\">DurationField</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\">class</span> </em><span class=\"sig-name descname\">DurationField</span><span class=\"sig-paren\">(</span><em class=\"sig-param\"><span class=\"o\">**</span>options</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\">timedelta</code></a>. När den används på PostgreSQL är datatypen som används ett <code class=\"docutils literal notranslate\">intervall</code> och på Oracle är datatypen <code class=\"docutils literal notranslate\">INTERVAL DAY (9) TO SECOND (6) ``. Annars används en ``bigint</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\">DurationField</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\">DurationField</code> med aritmetik på <code class=\"docutils literal notranslate\">DateTimeField</code> -instanser.</p>\n</aside>\n</section>\n<section id=\"emailfield\">\n<h3><code class=\"docutils literal notranslate\">EmailField</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\">class</span> </em><span class=\"sig-name descname\">EmailField</span><span class=\"sig-paren\">(</span><em class=\"sig-param\">max_length<span class=\"o\">=</span><span class=\"default_value\">254</span></em>, <em class=\"sig-param\"><span class=\"o\">**</span>options</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\">CharField</code></a> som kontrollerar att värdet är en giltig e-postadress med hjälp av <a class=\"reference internal\" href=\"/sv/5.2/ref/validators/#django.core.validators.EmailValidator\" title=\"django.core.validators.EmailValidator\"><code class=\"xref py py-class docutils literal notranslate\">EmailValidator</code></a>.</p>\n</section>\n<section id=\"filefield\">\n<h3><code class=\"docutils literal notranslate\">FileField</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\">class</span> </em><span class=\"sig-name descname\">FileField</span><span class=\"sig-paren\">(</span><em class=\"sig-param\">upload_to<span class=\"o\">=</span><span class=\"default_value\">''</span></em>, <em class=\"sig-param\">storage<span class=\"o\">=</span><span class=\"default_value\">None</span></em>, <em class=\"sig-param\">max_length<span class=\"o\">=</span><span class=\"default_value\">100</span></em>, <em class=\"sig-param\"><span class=\"o\">**</span>options</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\">primary_key</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\">FileField.</span><span class=\"sig-name descname\">upload_to</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/5.2/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\">Storage.save()</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\">Path</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\">strftime()</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=\"nc\">MyModel</span><span class=\"p\">(</span>models<span class=\"o\">.</span>Model<span class=\"p\">):</span>\n    <span class=\"c1\"># file will be uploaded to MEDIA_ROOT/uploads</span>\n    upload <span class=\"o\">=</span> models<span class=\"o\">.</span>FileField<span class=\"p\">(</span>upload_to<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    upload <span class=\"o\">=</span> models<span class=\"o\">.</span>FileField<span class=\"p\">(</span>upload_to<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/5.2/ref/files/storage/#django.core.files.storage.FileSystemStorage\" title=\"django.core.files.storage.FileSystemStorage\"><code class=\"xref py py-class docutils literal notranslate\">FileSystemStorage</code></a>, kommer strängvärdet att läggas till din <a class=\"reference internal\" href=\"/sv/5.2/ref/settings/#std-setting-MEDIA_ROOT\"><code class=\"xref std std-setting docutils literal notranslate\">MEDIA_ROOT</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\">upload_to</code>.</p>\n<p><code class=\"docutils literal notranslate\">upload_to</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\">instans</code></p></td>\n<td><p>En instans av modellen där <code class=\"docutils literal notranslate\">FileField</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\">AutoField</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\">filnamn</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=\"nf\">user_directory_path</span><span class=\"p\">(</span>instance<span class=\"p\">,</span> filename<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>format<span class=\"p\">(</span>instance<span class=\"o\">.</span>user<span class=\"o\">.</span>id<span class=\"p\">,</span> filename<span class=\"p\">)</span>\n\n\n<span class=\"k\">class</span> <span class=\"nc\">MyModel</span><span class=\"p\">(</span>models<span class=\"o\">.</span>Model<span class=\"p\">):</span>\n    upload <span class=\"o\">=</span> models<span class=\"o\">.</span>FileField<span class=\"p\">(</span>upload_to<span class=\"o\">=</span>user_directory_path<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\">FileField.</span><span class=\"sig-name descname\">storage</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/5.2/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/5.2/ref/forms/widgets/#django.forms.ClearableFileInput\" title=\"django.forms.ClearableFileInput\"><code class=\"xref py py-class docutils literal notranslate\">ClearableFileInput</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\">FileField</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\">ImageField</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/5.2/ref/settings/#std-setting-MEDIA_ROOT\"><code class=\"xref std std-setting docutils literal notranslate\">MEDIA_ROOT</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/5.2/ref/settings/#std-setting-MEDIA_URL\"><code class=\"xref std std-setting docutils literal notranslate\">MEDIA_URL</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\">FileField</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\">ImageField</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\">upload_to</code></a> för att ange en underkatalog i <a class=\"reference internal\" href=\"/sv/5.2/ref/settings/#std-setting-MEDIA_ROOT\"><code class=\"xref std std-setting docutils literal notranslate\">MEDIA_ROOT</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/5.2/ref/settings/#std-setting-MEDIA_ROOT\"><code class=\"xref std std-setting docutils literal notranslate\">MEDIA_ROOT</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\">url</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\">ImageField</code></a> till exempel heter <code class=\"docutils literal notranslate\">mug_shot</code> kan du få den absoluta sökvägen till din bild i en mall med <code class=\"docutils literal notranslate\">{{ object.mug_shot.url }}</code>.</p></li>\n</ol>\n<p>Anta till exempel att din <a class=\"reference internal\" href=\"/sv/5.2/ref/settings/#std-setting-MEDIA_ROOT\"><code class=\"xref std std-setting docutils literal notranslate\">MEDIA_ROOT</code></a> är inställd på <code class=\"docutils literal notranslate\">'/home/media'</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\">upload_to</code></a> är inställd på <code class=\"docutils literal notranslate\">'photos/%Y/%m/%d'</code>. Delen <code class=\"docutils literal notranslate\">'%Y/%m/%d'</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\">upload_to</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\">strftime()</code></a>-formatering; <code class=\"docutils literal notranslate\">'%Y'</code> är det fyrsiffriga året, <code class=\"docutils literal notranslate\">'%m'</code> är den tvåsiffriga månaden och <code class=\"docutils literal notranslate\">'%d'</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\">/home/media/photos/2007/01/15</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/5.2/ref/files/file/#django.core.files.File.name\" title=\"django.core.files.File.name\"><code class=\"xref py py-attr docutils literal notranslate\">name</code></a> respektive <a class=\"reference internal\" href=\"/sv/5.2/ref/files/file/#django.core.files.File.size\" title=\"django.core.files.File.size\"><code class=\"xref py py-attr docutils literal notranslate\">size</code></a>; för mer information om tillgängliga attribut och metoder, se klassreferensen <a class=\"reference internal\" href=\"/sv/5.2/ref/files/file/#django.core.files.File\" title=\"django.core.files.File\"><code class=\"xref py py-class docutils literal notranslate\">File</code></a> och ämnesguiden <a class=\"reference internal\" href=\"/sv/5.2/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\">url</code></a>. Internt anropar detta <a class=\"reference internal\" href=\"/sv/5.2/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\">url()</code></a>-metoden för den underliggande <a class=\"reference internal\" href=\"/sv/5.2/ref/files/storage/#django.core.files.storage.Storage\" title=\"django.core.files.storage.Storage\"><code class=\"xref py py-class docutils literal notranslate\">Storage</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\">FileField</code></a>-instanser skapas i din databas som <code class=\"docutils literal notranslate\">varchar</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\">max_length</code></a>.</p>\n<section id=\"filefield-and-fieldfile\">\n<h4><code class=\"docutils literal notranslate\">FileField</code> och <code class=\"docutils literal notranslate\">FieldFile</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\">class</span> </em><span class=\"sig-name descname\">FieldFile</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\">FileField</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\">FieldFile</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\">FieldFile</code></a> speglar det för <a class=\"reference internal\" href=\"/sv/5.2/ref/files/file/#django.core.files.File\" title=\"django.core.files.File\"><code class=\"xref py py-class docutils literal notranslate\">File</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/5.2/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\">Storage.open()</code></a>-metoden, som kan vara ett <a class=\"reference internal\" href=\"/sv/5.2/ref/files/file/#django.core.files.File\" title=\"django.core.files.File\"><code class=\"xref py py-class docutils literal notranslate\">File</code></a>-objekt, eller det kan vara en anpassad lagrings implementering av <a class=\"reference internal\" href=\"/sv/5.2/ref/files/file/#django.core.files.File\" title=\"django.core.files.File\"><code class=\"xref py py-class docutils literal notranslate\">File</code></a> API.</p>\n<p>Utöver API:et som ärvs från <a class=\"reference internal\" href=\"/sv/5.2/ref/files/file/#django.core.files.File\" title=\"django.core.files.File\"><code class=\"xref py py-class docutils literal notranslate\">File</code></a>, såsom <code class=\"docutils literal notranslate\">read()</code> och <code class=\"docutils literal notranslate\">write()</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\">FieldFile</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\">save()</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\">delete()</code></a>, sparar som standard modellobjektet för den associerade <code class=\"docutils literal notranslate\">FieldFile</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\">FieldFile.</span><span class=\"sig-name descname\">name</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/5.2/ref/files/storage/#django.core.files.storage.Storage\" title=\"django.core.files.storage.Storage\"><code class=\"xref py py-class docutils literal notranslate\">Storage</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\">FileField</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\">FieldFile.</span><span class=\"sig-name descname\">path</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/5.2/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\">path()</code></a>-metoden i den underliggande <a class=\"reference internal\" href=\"/sv/5.2/ref/files/storage/#django.core.files.storage.Storage\" title=\"django.core.files.storage.Storage\"><code class=\"xref py py-class docutils literal notranslate\">Storage</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\">FieldFile.</span><span class=\"sig-name descname\">size</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/5.2/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\">Storage.size()</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\">FieldFile.</span><span class=\"sig-name descname\">url</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/5.2/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\">url()</code></a>-metoden i den underliggande <a class=\"reference internal\" href=\"/sv/5.2/ref/files/storage/#django.core.files.storage.Storage\" title=\"django.core.files.storage.Storage\"><code class=\"xref py py-class docutils literal notranslate\">Storage</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\">FieldFile.</span><span class=\"sig-name descname\">open</span><span class=\"sig-paren\">(</span><em class=\"sig-param\">mode<span class=\"o\">=</span><span class=\"default_value\">'rb'</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\">mode</code>. Till skillnad från Pythons standardmetod <code class=\"docutils literal notranslate\">open()</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\">mode</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\">FieldFile.</span><span class=\"sig-name descname\">close</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\">file.close()</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\">FieldFile.</span><span class=\"sig-name descname\">save</span><span class=\"sig-paren\">(</span><em class=\"sig-param\">name</em>, <em class=\"sig-param\">content</em>, <em class=\"sig-param\">save<span class=\"o\">=</span><span class=\"default_value\">True</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\">FileField</code></a>-instanser i din modell, används metoden <code class=\"docutils literal notranslate\">save()</code> för att bevara fildata.</p>\n<p>Tar två obligatoriska argument: <code class=\"docutils literal notranslate\">name</code> som är namnet på filen och <code class=\"docutils literal notranslate\">content</code> som är ett objekt som innehåller filens innehåll.  Det valfria argumentet <code class=\"docutils literal notranslate\">save</code> styr om modellinstansen sparas eller inte efter att filen som är associerad med detta fält har ändrats. Standardvärdet är <code class=\"docutils literal notranslate\">True</code>.</p>\n<p>Observera att argumentet <code class=\"docutils literal notranslate\">content</code> ska vara en instans av <a class=\"reference internal\" href=\"/sv/5.2/ref/files/file/#django.core.files.File\" title=\"django.core.files.File\"><code class=\"xref py py-class docutils literal notranslate\">django.core.files.File</code></a>, inte Pythons inbyggda filobjekt. Du kan konstruera en <a class=\"reference internal\" href=\"/sv/5.2/ref/files/file/#django.core.files.File\" title=\"django.core.files.File\"><code class=\"xref py py-class docutils literal notranslate\">File</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=\"nn\">django.core.files</span> <span class=\"kn\">import</span> File\n\n<span class=\"c1\"># Open an existing file using Python&#39;s built-in open()</span>\nf <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>\nmyfile <span class=\"o\">=</span> File<span class=\"p\">(</span>f<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=\"nn\">django.core.files.base</span> <span class=\"kn\">import</span> ContentFile\n\nmyfile <span class=\"o\">=</span> ContentFile<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/5.2/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\">FieldFile.</span><span class=\"sig-name descname\">delete</span><span class=\"sig-paren\">(</span><em class=\"sig-param\">save<span class=\"o\">=</span><span class=\"default_value\">True</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\">delete()</code> anropas.</p>\n<p>Det valfria argumentet <code class=\"docutils literal notranslate\">save</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\">True</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\">FilePathField</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\">class</span> </em><span class=\"sig-name descname\">FilePathField</span><span class=\"sig-paren\">(</span><em class=\"sig-param\">path<span class=\"o\">=</span><span class=\"default_value\">''</span></em>, <em class=\"sig-param\">match<span class=\"o\">=</span><span class=\"default_value\">None</span></em>, <em class=\"sig-param\">recursive<span class=\"o\">=</span><span class=\"default_value\">False</span></em>, <em class=\"sig-param\">allow_files<span class=\"o\">=</span><span class=\"default_value\">True</span></em>, <em class=\"sig-param\">allow_folders<span class=\"o\">=</span><span class=\"default_value\">False</span></em>, <em class=\"sig-param\">max_length<span class=\"o\">=</span><span class=\"default_value\">100</span></em>, <em class=\"sig-param\"><span class=\"o\">**</span>options</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\">CharField</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\">FilePathField.</span><span class=\"sig-name descname\">path</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\">FilePathField</code></a> ska hämta sina val. Exempel: <code class=\"docutils literal notranslate\">&quot;/home/images&quot;</code>.</p>\n<p><code class=\"docutils literal notranslate\">path</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=\"nn\">os</span>\n<span class=\"kn\">from</span> <span class=\"nn\">django.conf</span> <span class=\"kn\">import</span> settings\n<span class=\"kn\">from</span> <span class=\"nn\">django.db</span> <span class=\"kn\">import</span> models\n\n\n<span class=\"k\">def</span> <span class=\"nf\">images_path</span><span class=\"p\">():</span>\n    <span class=\"k\">return</span> os<span class=\"o\">.</span>path<span class=\"o\">.</span>join<span class=\"p\">(</span>settings<span class=\"o\">.</span>LOCAL_FILE_DIR<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=\"nc\">MyModel</span><span class=\"p\">(</span>models<span class=\"o\">.</span>Model<span class=\"p\">):</span>\n    file <span class=\"o\">=</span> models<span class=\"o\">.</span>FilePathField<span class=\"p\">(</span>path<span class=\"o\">=</span>images_path<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\">FilePathField.</span><span class=\"sig-name descname\">match</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\">FilePathField</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\">&quot;foo.*\\.txt$&quot;</code>, vilket matchar en fil som heter <code class=\"docutils literal notranslate\">foo23.txt</code> men inte <code class=\"docutils literal notranslate\">bar.txt</code> eller <code class=\"docutils literal notranslate\">foo23.png</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\">FilePathField.</span><span class=\"sig-name descname\">recursive</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\">True</code> eller <code class=\"docutils literal notranslate\">False</code>. Standard är <code class=\"docutils literal notranslate\">False</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\">path</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\">FilePathField.</span><span class=\"sig-name descname\">allow_files</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>Valfritt.  Antingen <code class=\"docutils literal notranslate\">True</code> eller <code class=\"docutils literal notranslate\">False</code>.  Standard är <code class=\"docutils literal notranslate\">True</code>.  Anger om filer på den angivna platsen ska inkluderas.  Antingen detta eller <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\">allow_folders</code></a> måste vara <code class=\"docutils literal notranslate\">True</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\">FilePathField.</span><span class=\"sig-name descname\">allow_folders</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>Valfritt.  Antingen <code class=\"docutils literal notranslate\">True</code> eller <code class=\"docutils literal notranslate\">False</code>.  Standard är <code class=\"docutils literal notranslate\">False</code>.  Anger om mappar på den angivna platsen ska inkluderas.  Antingen detta eller <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\">allow_files</code></a> måste vara <code class=\"docutils literal notranslate\">True</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\">match</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>FilePathField<span class=\"p\">(</span>path<span class=\"o\">=</span><span class=\"s2\">&quot;/home/images&quot;</span><span class=\"p\">,</span> match<span class=\"o\">=</span><span class=\"s2\">&quot;foo.*&quot;</span><span class=\"p\">,</span> recursive<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\">/home/images/foo.png</code> men inte <code class=\"docutils literal notranslate\">/home/images/foo/bar.png</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\">match</code></a> gäller för basfilnamnet (<code class=\"docutils literal notranslate\">foo.png</code> och <code class=\"docutils literal notranslate\">bar.png</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\">FilePathField</code></a>-instanser skapas i din databas som <code class=\"docutils literal notranslate\">varchar</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\">max_length</code></a>.</p>\n</section>\n<section id=\"floatfield\">\n<h3><code class=\"docutils literal notranslate\">FloatField</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\">class</span> </em><span class=\"sig-name descname\">FloatField</span><span class=\"sig-paren\">(</span><em class=\"sig-param\"><span class=\"o\">**</span>options</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\">float</code>-instans.</p>\n<p>Standardformulärwidgeten för detta fält är en <a class=\"reference internal\" href=\"/sv/5.2/ref/forms/widgets/#django.forms.NumberInput\" title=\"django.forms.NumberInput\"><code class=\"xref py py-class docutils literal notranslate\">NumberInput</code></a> när <a class=\"reference internal\" href=\"/sv/5.2/ref/forms/fields/#django.forms.Field.localize\" title=\"django.forms.Field.localize\"><code class=\"xref py py-attr docutils literal notranslate\">localize</code></a> är <code class=\"docutils literal notranslate\">False</code> eller annars <a class=\"reference internal\" href=\"/sv/5.2/ref/forms/widgets/#django.forms.TextInput\" title=\"django.forms.TextInput\"><code class=\"xref py py-class docutils literal notranslate\">TextInput</code></a>.</p>\n<aside class=\"admonition-floatfield-vs-decimalfield admonition\" id=\"floatfield-vs-decimalfield\" role=\"note\">\n<p class=\"admonition-title\"><code class=\"docutils literal notranslate\">FloatField</code> vs. <code class=\"docutils literal notranslate\">DecimalField</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\">FloatField</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\">DecimalField</code></a>. Även om de båda representerar verkliga tal, representerar de dessa tal på olika sätt. <code class=\"docutils literal notranslate\">FloatField</code> använder Pythons typ <code class=\"docutils literal notranslate\">float</code> internt, medan <code class=\"docutils literal notranslate\">DecimalField</code> använder Pythons typ <code class=\"docutils literal notranslate\">Decimal</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\">decimal</code></a>.</p>\n</aside>\n</section>\n<section id=\"generatedfield\">\n<h3><code class=\"docutils literal notranslate\">GeneratedField</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\">class</span> </em><span class=\"sig-name descname\">GeneratedField</span><span class=\"sig-paren\">(</span><em class=\"sig-param\">expression</em>, <em class=\"sig-param\">output_field</em>, <em class=\"sig-param\">db_persist<span class=\"o\">=</span><span class=\"default_value\">None</span></em>, <em class=\"sig-param\"><span class=\"o\">**</span>kwargs</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\">GENERATED ALWAYS</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\">GeneratedField.</span><span class=\"sig-name descname\">expression</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/5.2/ref/models/expressions/#django.db.models.Expression\" title=\"django.db.models.Expression\"><code class=\"xref py py-class docutils literal notranslate\">Expression</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\">GeneratedField.</span><span class=\"sig-name descname\">output_field</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\">GeneratedField.</span><span class=\"sig-name descname\">db_persist</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\">False</code>, fungerar kolumnen som en virtuell kolumn och tar inte upp lagringsutrymme i databasen.</p>\n<p>PostgreSQL stöder endast kvarvarande kolumner. Oracle stöder endast virtuella kolumner.</p>\n</dd></dl>\n\n<aside class=\"admonition-refresh-the-data admonition\" role=\"note\">\n<p class=\"admonition-title\">Uppdatera uppgifterna</p>\n<p>Eftersom databasen beräknar värdet måste objektet laddas om för att få tillgång till det nya värdet efter <a class=\"reference internal\" href=\"/sv/5.2/ref/models/instances/#django.db.models.Model.save\" title=\"django.db.models.Model.save\"><code class=\"xref py py-meth docutils literal notranslate\">save()</code></a>, till exempel genom att använda <a class=\"reference internal\" href=\"/sv/5.2/ref/models/instances/#django.db.models.Model.refresh_from_db\" title=\"django.db.models.Model.refresh_from_db\"><code class=\"xref py py-meth docutils literal notranslate\">refresh_from_db()</code></a>.</p>\n</aside>\n<aside class=\"admonition-database-limitations admonition\" role=\"note\">\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\">IMMUTABLE</code>.</p>\n<p>Du bör alltid kontrollera att <code class=\"docutils literal notranslate\">expression</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</section>\n<section id=\"genericipaddressfield\">\n<h3><code class=\"docutils literal notranslate\">GenericIPAddressField</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\">class</span> </em><span class=\"sig-name descname\">GenericIPAddressField</span><span class=\"sig-paren\">(</span><em class=\"sig-param\">protocol<span class=\"o\">=</span><span class=\"default_value\">'both'</span></em>, <em class=\"sig-param\">unpack_ipv4<span class=\"o\">=</span><span class=\"default_value\">False</span></em>, <em class=\"sig-param\"><span class=\"o\">**</span>options</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\">192.0.2.30</code> eller <code class=\"docutils literal notranslate\">2a02:42fe::4</code>). Standardformulärwidgeten för detta fält är en <a class=\"reference internal\" href=\"/sv/5.2/ref/forms/widgets/#django.forms.TextInput\" title=\"django.forms.TextInput\"><code class=\"xref py py-class docutils literal notranslate\">TextInput</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\">::ffff:192.0.2.0</code>. Till exempel: skulle <code class=\"docutils literal notranslate\">2001:0::0:01</code> normaliseras till <code class=\"docutils literal notranslate\">2001::1</code>, och <code class=\"docutils literal notranslate\">::ffff:0a0a:0a0a</code> till <code class=\"docutils literal notranslate\">::ffff:10.10.10.10</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\">GenericIPAddressField.</span><span class=\"sig-name descname\">protocol</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\">'both'</code> (standard), <code class=\"docutils literal notranslate\">'IPv4'</code> eller <code class=\"docutils literal notranslate\">'IPv6'</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\">GenericIPAddressField.</span><span class=\"sig-name descname\">unpack_ipv4</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\">::ffff:192.0.2.1</code>. Om detta alternativ är aktiverat kommer den adressen att packas upp till <code class=\"docutils literal notranslate\">192.0.2.1</code>. Standard är inaktiverat. Kan endast användas när <code class=\"docutils literal notranslate\">protocol</code> är inställt på <code class=\"docutils literal notranslate\">'both'</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\">ImageField</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\">class</span> </em><span class=\"sig-name descname\">ImageField</span><span class=\"sig-paren\">(</span><em class=\"sig-param\">upload_to<span class=\"o\">=</span><span class=\"default_value\">None</span></em>, <em class=\"sig-param\">height_field<span class=\"o\">=</span><span class=\"default_value\">None</span></em>, <em class=\"sig-param\">width_field<span class=\"o\">=</span><span class=\"default_value\">None</span></em>, <em class=\"sig-param\">max_length<span class=\"o\">=</span><span class=\"default_value\">100</span></em>, <em class=\"sig-param\"><span class=\"o\">**</span>options</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\">FileField</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\">FileField</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\">ImageField</code></a> även attributen <code class=\"docutils literal notranslate\">height</code> och <code class=\"docutils literal notranslate\">width</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\">ImageField</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\">ImageField.</span><span class=\"sig-name descname\">height_field</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\">ImageField.</span><span class=\"sig-name descname\">width_field</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\">ImageField</code></a>-instanser skapas i din databas som <code class=\"docutils literal notranslate\">varchar</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\">max_length</code></a>.</p>\n<p>Standardformulärwidgeten för detta fält är en <a class=\"reference internal\" href=\"/sv/5.2/ref/forms/widgets/#django.forms.ClearableFileInput\" title=\"django.forms.ClearableFileInput\"><code class=\"xref py py-class docutils literal notranslate\">ClearableFileInput</code></a>.</p>\n</section>\n<section id=\"integerfield\">\n<h3><code class=\"docutils literal notranslate\">IntegerField</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\">class</span> </em><span class=\"sig-name descname\">IntegerField</span><span class=\"sig-paren\">(</span><em class=\"sig-param\"><span class=\"o\">**</span>options</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\">-2147483648</code> till <code class=\"docutils literal notranslate\">2147483647</code> är kompatibla i alla databaser som stöds av Django.</p>\n<p>Den använder <a class=\"reference internal\" href=\"/sv/5.2/ref/validators/#django.core.validators.MinValueValidator\" title=\"django.core.validators.MinValueValidator\"><code class=\"xref py py-class docutils literal notranslate\">MinValueValidator</code></a> och <a class=\"reference internal\" href=\"/sv/5.2/ref/validators/#django.core.validators.MaxValueValidator\" title=\"django.core.validators.MaxValueValidator\"><code class=\"xref py py-class docutils literal notranslate\">MaxValueValidator</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/5.2/ref/forms/widgets/#django.forms.NumberInput\" title=\"django.forms.NumberInput\"><code class=\"xref py py-class docutils literal notranslate\">NumberInput</code></a> när <a class=\"reference internal\" href=\"/sv/5.2/ref/forms/fields/#django.forms.Field.localize\" title=\"django.forms.Field.localize\"><code class=\"xref py py-attr docutils literal notranslate\">localize</code></a> är <code class=\"docutils literal notranslate\">False</code> eller annars <a class=\"reference internal\" href=\"/sv/5.2/ref/forms/widgets/#django.forms.TextInput\" title=\"django.forms.TextInput\"><code class=\"xref py py-class docutils literal notranslate\">TextInput</code></a>.</p>\n</section>\n<section id=\"jsonfield\">\n<h3><code class=\"docutils literal notranslate\">JSONField</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\">class</span> </em><span class=\"sig-name descname\">JSONField</span><span class=\"sig-paren\">(</span><em class=\"sig-param\">encoder<span class=\"o\">=</span><span class=\"default_value\">None</span></em>, <em class=\"sig-param\">decoder<span class=\"o\">=</span><span class=\"default_value\">None</span></em>, <em class=\"sig-param\"><span class=\"o\">**</span>options</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\">None</code>.</p>\n<p><code class=\"docutils literal notranslate\">JSONField</code> stöds på MariaDB, MySQL, Oracle, PostgreSQL och SQLite (med <a class=\"reference internal\" href=\"/sv/5.2/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\">JSONField.</span><span class=\"sig-name descname\">encoder</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>En valfri <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\">json.JSONEncoder</code></a>-underklass för att serialisera datatyper som inte stöds av standard JSON serializer (t.ex. <code class=\"docutils literal notranslate\">datetime.datetime</code> eller <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\">UUID</code></a>). Du kan till exempel använda klassen <a class=\"reference internal\" href=\"/sv/5.2/topics/serialization/#django.core.serializers.json.DjangoJSONEncoder\" title=\"django.core.serializers.json.DjangoJSONEncoder\"><code class=\"xref py py-class docutils literal notranslate\">DjangoJSONEncoder</code></a>.</p>\n<p>Standardvärdet är <code class=\"docutils literal notranslate\">json.JSONEncoder</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\">JSONField.</span><span class=\"sig-name descname\">decoder</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>En valfri <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\">json.JSONDecoder</code></a>-underklass för att deserialisera värdet som hämtats från databasen. Värdet kommer att vara i det format som valts av den anpassade kodaren (oftast en sträng). Din deserialisering kan behöva ta hänsyn till det faktum att du inte kan vara säker på indatatypen. Du riskerar till exempel att returnera en <code class=\"docutils literal notranslate\">datetime</code> som faktiskt var en sträng som bara råkade vara i samma format som valts för <code class=\"docutils literal notranslate\">datetime</code>.</p>\n<p>Standardvärdet är <code class=\"docutils literal notranslate\">json.JSONDecoder</code>.</p>\n</dd></dl>\n\n<p>För att fråga <code class=\"docutils literal notranslate\">JSONField</code> i databasen, se <a class=\"reference internal\" href=\"/sv/5.2/topics/db/queries/#querying-jsonfield\"><span class=\"std std-ref\">Fråga om JSONField</span></a>.</p>\n<aside class=\"admonition-default-value admonition\" role=\"note\">\n<p class=\"admonition-title\">Standardvärde</p>\n<p>Om du ger fältet en <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\">default</code></a>, se till att det är en callable som t.ex. <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\">dict</code></a>-klassen eller en funktion som returnerar ett nytt objekt varje gång. Felaktig användning av ett föränderligt objekt som <code class=\"docutils literal notranslate\">default={}</code> eller <code class=\"docutils literal notranslate\">default=[]</code> skapar en föränderlig standard som delas mellan alla instanser.</p>\n</aside>\n<aside class=\"admonition-indexing admonition\" role=\"note\">\n<p class=\"admonition-title\">Indexering</p>\n<p><a class=\"reference internal\" href=\"/sv/5.2/ref/models/indexes/#django.db.models.Index\" title=\"django.db.models.Index\"><code class=\"xref py py-class docutils literal notranslate\">Index</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\">Field.db_index</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\">JSONField</code>. Endast på PostgreSQL kan du använda <a class=\"reference internal\" href=\"/sv/5.2/ref/contrib/postgres/indexes/#django.contrib.postgres.indexes.GinIndex\" title=\"django.contrib.postgres.indexes.GinIndex\"><code class=\"xref py py-class docutils literal notranslate\">GinIndex</code></a> som är bättre lämpad.</p>\n</aside>\n<aside class=\"admonition-postgresql-users admonition\" role=\"note\">\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\">jsonb</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\">jsonb</code>. <code class=\"docutils literal notranslate\">JSONField</code> använder <code class=\"docutils literal notranslate\">jsonb</code>.</p>\n</aside>\n<aside class=\"admonition-oracle-users admonition\" role=\"note\">\n<p class=\"admonition-title\">Oracle-användare</p>\n<p>Oracle Database stöder inte lagring av JSON-skalärvärden. Endast JSON-objekt och matriser (representerade i Python med hjälp av <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\">dict</code></a> och <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\">list</code></a>) stöds.</p>\n</aside>\n</section>\n<section id=\"positivebigintegerfield\">\n<h3><code class=\"docutils literal notranslate\">PositivBigIntegerField</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\">class</span> </em><span class=\"sig-name descname\">PositiveBigIntegerField</span><span class=\"sig-paren\">(</span><em class=\"sig-param\"><span class=\"o\">**</span>options</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\">PositiveIntegerField</code></a>, men tillåter bara värden under en viss (databasberoende) punkt. Värden från <code class=\"docutils literal notranslate\">0</code> till <code class=\"docutils literal notranslate\">9223372036854775807</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\">PositivIntegerField</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\">class</span> </em><span class=\"sig-name descname\">PositiveIntegerField</span><span class=\"sig-paren\">(</span><em class=\"sig-param\"><span class=\"o\">**</span>options</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\">IntegerField</code></a>, men måste vara antingen positiv eller noll (<code class=\"docutils literal notranslate\">0</code>). Värden är endast tillåtna under en viss (databasberoende) punkt. Värden från <code class=\"docutils literal notranslate\">0</code> till <code class=\"docutils literal notranslate\">2147483647</code> är kompatibla i alla databaser som stöds av Django. Värdet <code class=\"docutils literal notranslate\">0</code> accepteras av bakåtkompatibilitetsskäl.</p>\n</section>\n<section id=\"positivesmallintegerfield\">\n<h3><code class=\"docutils literal notranslate\">Positiv liten heltalsfält</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\">class</span> </em><span class=\"sig-name descname\">PositiveSmallIntegerField</span><span class=\"sig-paren\">(</span><em class=\"sig-param\"><span class=\"o\">**</span>options</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\">PositiveIntegerField</code></a>, men tillåter bara värden under en viss (databasberoende) punkt. Värden från <code class=\"docutils literal notranslate\">0</code> till <code class=\"docutils literal notranslate\">32767</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\">SlugField</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\">class</span> </em><span class=\"sig-name descname\">SlugField</span><span class=\"sig-paren\">(</span><em class=\"sig-param\">max_length<span class=\"o\">=</span><span class=\"default_value\">50</span></em>, <em class=\"sig-param\"><span class=\"o\">**</span>options</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/5.2/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\">max_length</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\">max_length</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\">max_length</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\">Field.db_index</code></a> sätts till <code class=\"docutils literal notranslate\">True</code>.</p>\n<p>Det är ofta användbart att automatiskt fylla i en SlugField baserat på värdet av något annat värde.  Du kan göra detta automatiskt i admin med <a class=\"reference internal\" href=\"/sv/5.2/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\">prepopulated_fields</code></a>.</p>\n<p>Den använder <a class=\"reference internal\" href=\"/sv/5.2/ref/validators/#django.core.validators.validate_slug\" title=\"django.core.validators.validate_slug\"><code class=\"xref py py-class docutils literal notranslate\">validate_slug</code></a> eller <a class=\"reference internal\" href=\"/sv/5.2/ref/validators/#django.core.validators.validate_unicode_slug\" title=\"django.core.validators.validate_unicode_slug\"><code class=\"xref py py-class docutils literal notranslate\">validate_unicode_slug</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\">SlugField.</span><span class=\"sig-name descname\">allow_unicode</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\">True</code>, accepterar fältet Unicode-bokstäver utöver ASCII-bokstäver. Standardvärdet är <code class=\"docutils literal notranslate\">False</code>.</p>\n</dd></dl>\n\n</section>\n<section id=\"smallautofield\">\n<h3><code class=\"docutils literal notranslate\">SmallAutoField</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\">class</span> </em><span class=\"sig-name descname\">SmallAutoField</span><span class=\"sig-paren\">(</span><em class=\"sig-param\"><span class=\"o\">**</span>options</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\">AutoField</code></a>, men tillåter bara värden under en viss (databasberoende) gräns. Värden från <code class=\"docutils literal notranslate\">1</code> till <code class=\"docutils literal notranslate\">32767</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\">LitenIntegerField</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\">class</span> </em><span class=\"sig-name descname\">SmallIntegerField</span><span class=\"sig-paren\">(</span><em class=\"sig-param\"><span class=\"o\">**</span>options</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\">IntegerField</code></a>, men tillåter bara värden under en viss (databasberoende) punkt. Värden från <code class=\"docutils literal notranslate\">-32768</code> till <code class=\"docutils literal notranslate\">32767</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\">Textfält</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\">class</span> </em><span class=\"sig-name descname\">TextField</span><span class=\"sig-paren\">(</span><em class=\"sig-param\"><span class=\"o\">**</span>options</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/5.2/ref/forms/widgets/#django.forms.Textarea\" title=\"django.forms.Textarea\"><code class=\"xref py py-class docutils literal notranslate\">Textarea</code></a>.</p>\n<p>Om du anger ett <code class=\"docutils literal notranslate\">max_length</code>-attribut kommer det att återspeglas i <a class=\"reference internal\" href=\"/sv/5.2/ref/forms/widgets/#django.forms.Textarea\" title=\"django.forms.Textarea\"><code class=\"xref py py-class docutils literal notranslate\">Textarea</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\">CharField</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\">TextField.</span><span class=\"sig-name descname\">db_collation</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\" role=\"note\">\n<p class=\"admonition-title\">Oracle</p>\n<p>Oracle stöder inte kollationer för en <code class=\"docutils literal notranslate\">TextField</code>.</p>\n</aside>\n</dd></dl>\n\n</section>\n<section id=\"timefield\">\n<h3><code class=\"docutils literal notranslate\">TimeField</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\">class</span> </em><span class=\"sig-name descname\">TimeField</span><span class=\"sig-paren\">(</span><em class=\"sig-param\">auto_now<span class=\"o\">=</span><span class=\"default_value\">False</span></em>, <em class=\"sig-param\">auto_now_add<span class=\"o\">=</span><span class=\"default_value\">False</span></em>, <em class=\"sig-param\"><span class=\"o\">**</span>options</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\">datetime.time</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\">DateField</code></a>.</p>\n<p>Standardformulärwidgeten för detta fält är en <a class=\"reference internal\" href=\"/sv/5.2/ref/forms/widgets/#django.forms.TimeInput\" title=\"django.forms.TimeInput\"><code class=\"xref py py-class docutils literal notranslate\">TimeInput</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\">URL-fält</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\">class</span> </em><span class=\"sig-name descname\">URLField</span><span class=\"sig-paren\">(</span><em class=\"sig-param\">max_length<span class=\"o\">=</span><span class=\"default_value\">200</span></em>, <em class=\"sig-param\"><span class=\"o\">**</span>options</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\">CharField</code></a> för en URL, validerad av <a class=\"reference internal\" href=\"/sv/5.2/ref/validators/#django.core.validators.URLValidator\" title=\"django.core.validators.URLValidator\"><code class=\"xref py py-class docutils literal notranslate\">URLValidator</code></a>.</p>\n<p>Standardformulärwidgeten för det här fältet är en <a class=\"reference internal\" href=\"/sv/5.2/ref/forms/widgets/#django.forms.URLInput\" title=\"django.forms.URLInput\"><code class=\"xref py py-class docutils literal notranslate\">URLInput</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\">CharField</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\">URLField</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\">max_length</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\">max_length</code></a> används standardvärdet 200.</p>\n</section>\n<section id=\"uuidfield\">\n<h3><code class=\"docutils literal notranslate\">UUIDField</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\">class</span> </em><span class=\"sig-name descname\">UUIDField</span><span class=\"sig-paren\">(</span><em class=\"sig-param\"><span class=\"o\">**</span>options</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>Ett fält för lagring av universellt unika identifierare. Använder Pythons <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\">UUID</code></a> klass. När det används på PostgreSQL och MariaDB 10.7+ lagras detta i en <code class=\"docutils literal notranslate\">uuid</code> datatyp, annars i en <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>char (32) <a href=\"#id3\"><span class=\"problematic\" id=\"id4\">``</span></a>.</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\">AutoField</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\">primary_key</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\">default</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=\"nn\">uuid</span>\n<span class=\"kn\">from</span> <span class=\"nn\">django.db</span> <span class=\"kn\">import</span> models\n\n\n<span class=\"k\">class</span> <span class=\"nc\">MyUUIDModel</span><span class=\"p\">(</span>models<span class=\"o\">.</span>Model<span class=\"p\">):</span>\n    <span class=\"nb\">id</span> <span class=\"o\">=</span> models<span class=\"o\">.</span>UUIDField<span class=\"p\">(</span>primary_key<span class=\"o\">=</span><span class=\"kc\">True</span><span class=\"p\">,</span> default<span class=\"o\">=</span>uuid<span class=\"o\">.</span>uuid4<span class=\"p\">,</span> editable<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\">default</code>, inte en instans av <code class=\"docutils literal notranslate\">UUID</code>.</p>\n<aside class=\"admonition-lookups-on-postgresql-and-mariadb-10-7 admonition\" role=\"note\">\n<p class=\"admonition-title\">Uppslagningar på PostgreSQL och MariaDB 10.7+</p>\n<p>Att använda <a class=\"reference internal\" href=\"/sv/5.2/ref/models/querysets/#std-fieldlookup-iexact\"><code class=\"xref std std-lookup docutils literal notranslate\">iexact</code></a>, <a class=\"reference internal\" href=\"/sv/5.2/ref/models/querysets/#std-fieldlookup-contains\"><code class=\"xref std std-lookup docutils literal notranslate\">contains</code></a>, <a class=\"reference internal\" href=\"/sv/5.2/ref/models/querysets/#std-fieldlookup-icontains\"><code class=\"xref std std-lookup docutils literal notranslate\">icontains</code></a>, <a class=\"reference internal\" href=\"/sv/5.2/ref/models/querysets/#std-fieldlookup-startswith\"><code class=\"xref std std-lookup docutils literal notranslate\">startswith</code></a>, <a class=\"reference internal\" href=\"/sv/5.2/ref/models/querysets/#std-fieldlookup-istartswith\"><code class=\"xref std std-lookup docutils literal notranslate\">istartswith</code></a>, <a class=\"reference internal\" href=\"/sv/5.2/ref/models/querysets/#std-fieldlookup-endswith\"><code class=\"xref std std-lookup docutils literal notranslate\">endswith</code></a> eller <a class=\"reference internal\" href=\"/sv/5.2/ref/models/querysets/#std-fieldlookup-iendswith\"><code class=\"xref std std-lookup docutils literal notranslate\">iendswith</code></a> lookups på PostgreSQL fungerar inte för värden utan bindestreck, eftersom PostgreSQL och MariaDB 10.7+ lagrar dem i en bindestreckad uuid-datatypstyp.</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\">ForeignKey</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\">class</span> </em><span class=\"sig-name descname\">ForeignKey</span><span class=\"sig-paren\">(</span><em class=\"sig-param\">to</em>, <em class=\"sig-param\">on_delete</em>, <em class=\"sig-param\"><span class=\"o\">**</span>options</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\">on_delete</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=\"nn\">django.db</span> <span class=\"kn\">import</span> models\n\n\n<span class=\"k\">class</span> <span class=\"nc\">Manufacturer</span><span class=\"p\">(</span>models<span class=\"o\">.</span>Model<span class=\"p\">):</span>\n    name <span class=\"o\">=</span> models<span class=\"o\">.</span>TextField<span class=\"p\">()</span>\n\n\n<span class=\"k\">class</span> <span class=\"nc\">Car</span><span class=\"p\">(</span>models<span class=\"o\">.</span>Model<span class=\"p\">):</span>\n    manufacturer <span class=\"o\">=</span> models<span class=\"o\">.</span>ForeignKey<span class=\"p\">(</span>Manufacturer<span class=\"p\">,</span> on_delete<span class=\"o\">=</span>models<span class=\"o\">.</span>CASCADE<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\">ForeignKey.on_delete</code></a> för detaljer om det andra positionella argumentet.</p>\n<p>Ett databasindex skapas automatiskt för <code class=\"docutils literal notranslate\">ForeignKey</code>. Du kan inaktivera detta genom att sätta <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\">db_index</code></a> till <code class=\"docutils literal notranslate\">False</code>.  Du kanske vill undvika omkostnaderna för ett index om du skapar en främmande nyckel för konsistens snarare än för sammanfogningar, eller om du kommer att skapa ett alternativt index som ett partiellt index eller ett index med flera kolumner.</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\">&quot;_id&quot;</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\">Car</code> att ha en kolumn med namnet <code class=\"docutils literal notranslate\">manufacturer_id</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\">db_column</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\">ForeignKey</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\">ForeignKey.</span><span class=\"sig-name descname\">on_delete</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>När ett objekt som refereras till av en <a class=\"reference internal\" href=\"#django.db.models.ForeignKey\" title=\"django.db.models.ForeignKey\"><code class=\"xref py py-class docutils literal notranslate\">ForeignKey</code></a> raderas, kommer Django att emulera beteendet hos SQL-begränsningen som anges av argumentet <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\">on_delete</code></a>. Till exempel:, om du har en nullable <a class=\"reference internal\" href=\"#django.db.models.ForeignKey\" title=\"django.db.models.ForeignKey\"><code class=\"xref py py-class docutils literal notranslate\">ForeignKey</code></a> och du vill att den ska sättas till null när det refererade objektet raderas:</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>user <span class=\"o\">=</span> models<span class=\"o\">.</span>ForeignKey<span class=\"p\">(</span>\n    User<span class=\"p\">,</span>\n    models<span class=\"o\">.</span>SET_NULL<span class=\"p\">,</span>\n    blank<span class=\"o\">=</span><span class=\"kc\">True</span><span class=\"p\">,</span>\n    null<span class=\"o\">=</span><span class=\"kc\">True</span><span class=\"p\">,</span>\n<span class=\"p\">)</span>\n</code></pre></div>\n<p><code class=\"docutils literal notranslate\">on_delete</code> skapar inte en SQL-begränsning i databasen. Stöd för kaskadalternativ på databasnivå <a class=\"extlink-ticket reference external\" href=\"https://code.djangoproject.com/ticket/21961\">kan komma att implementeras senare</a>.</p>\n</dd></dl>\n\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\">on_delete</code></a> finns i <a class=\"reference internal\" href=\"/sv/5.2/topics/db/models/#module-django.db.models\" title=\"django.db.models\"><code class=\"xref py py-mod docutils literal notranslate\">django.db.models</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\">CASCADE</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\">ON DELETE CASCADE</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\">ForeignKey</code></a>.</p>\n<p><a class=\"reference internal\" href=\"/sv/5.2/ref/models/instances/#django.db.models.Model.delete\" title=\"django.db.models.Model.delete\"><code class=\"xref py py-meth docutils literal notranslate\">Model.delete()</code></a> anropas inte på relaterade modeller, men signalerna <a class=\"reference internal\" href=\"/sv/5.2/ref/signals/#django.db.models.signals.pre_delete\" title=\"django.db.models.signals.pre_delete\"><code class=\"xref py py-data docutils literal notranslate\">pre_delete</code></a> och <a class=\"reference internal\" href=\"/sv/5.2/ref/signals/#django.db.models.signals.post_delete\" title=\"django.db.models.signals.post_delete\"><code class=\"xref py py-data docutils literal notranslate\">post_delete</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.PROTECT\">\n<span class=\"sig-name descname\">PROTECT</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/5.2/ref/exceptions/#django.db.models.ProtectedError\" title=\"django.db.models.ProtectedError\"><code class=\"xref py py-exc docutils literal notranslate\">ProtectedError</code></a>, en underklass av <a class=\"reference internal\" href=\"/sv/5.2/ref/exceptions/#django.db.IntegrityError\" title=\"django.db.IntegrityError\"><code class=\"xref py py-exc docutils literal notranslate\">django.db.IntegrityError</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\">RESTRICT</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/5.2/ref/exceptions/#django.db.models.RestrictedError\" title=\"django.db.models.RestrictedError\"><code class=\"xref py py-exc docutils literal notranslate\">RestrictedError</code></a> (en underklass av <a class=\"reference internal\" href=\"/sv/5.2/ref/exceptions/#django.db.IntegrityError\" title=\"django.db.IntegrityError\"><code class=\"xref py py-exc docutils literal notranslate\">django.db.IntegrityError</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\">PROTECT</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\">CASCADE</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=\"nc\">Artist</span><span class=\"p\">(</span>models<span class=\"o\">.</span>Model<span class=\"p\">):</span>\n    name <span class=\"o\">=</span> models<span class=\"o\">.</span>CharField<span class=\"p\">(</span>max_length<span class=\"o\">=</span><span class=\"mi\">10</span><span class=\"p\">)</span>\n\n\n<span class=\"k\">class</span> <span class=\"nc\">Album</span><span class=\"p\">(</span>models<span class=\"o\">.</span>Model<span class=\"p\">):</span>\n    artist <span class=\"o\">=</span> models<span class=\"o\">.</span>ForeignKey<span class=\"p\">(</span>Artist<span class=\"p\">,</span> on_delete<span class=\"o\">=</span>models<span class=\"o\">.</span>CASCADE<span class=\"p\">)</span>\n\n\n<span class=\"k\">class</span> <span class=\"nc\">Song</span><span class=\"p\">(</span>models<span class=\"o\">.</span>Model<span class=\"p\">):</span>\n    artist <span class=\"o\">=</span> models<span class=\"o\">.</span>ForeignKey<span class=\"p\">(</span>Artist<span class=\"p\">,</span> on_delete<span class=\"o\">=</span>models<span class=\"o\">.</span>CASCADE<span class=\"p\">)</span>\n    album <span class=\"o\">=</span> models<span class=\"o\">.</span>ForeignKey<span class=\"p\">(</span>Album<span class=\"p\">,</span> on_delete<span class=\"o\">=</span>models<span class=\"o\">.</span>RESTRICT<span class=\"p\">)</span>\n</code></pre></div>\n<p><code class=\"docutils literal notranslate\">Artist</code> kan tas bort även om det innebär att ett <code class=\"docutils literal notranslate\">Album</code> som refereras av en <code class=\"docutils literal notranslate\">Song</code> måste tas bort, eftersom <code class=\"docutils literal notranslate\">Song</code> också refererar till <code class=\"docutils literal notranslate\">Artist</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>artist_one <span class=\"o\">=</span> Artist<span class=\"o\">.</span>objects<span class=\"o\">.</span>create<span class=\"p\">(</span>name<span class=\"o\">=</span><span class=\"s2\">&quot;artist one&quot;</span><span class=\"p\">)</span>\n<span class=\"gp\">&gt;&gt;&gt; </span>artist_two <span class=\"o\">=</span> Artist<span class=\"o\">.</span>objects<span class=\"o\">.</span>create<span class=\"p\">(</span>name<span class=\"o\">=</span><span class=\"s2\">&quot;artist two&quot;</span><span class=\"p\">)</span>\n<span class=\"gp\">&gt;&gt;&gt; </span>album_one <span class=\"o\">=</span> Album<span class=\"o\">.</span>objects<span class=\"o\">.</span>create<span class=\"p\">(</span>artist<span class=\"o\">=</span>artist_one<span class=\"p\">)</span>\n<span class=\"gp\">&gt;&gt;&gt; </span>album_two <span class=\"o\">=</span> Album<span class=\"o\">.</span>objects<span class=\"o\">.</span>create<span class=\"p\">(</span>artist<span class=\"o\">=</span>artist_two<span class=\"p\">)</span>\n<span class=\"gp\">&gt;&gt;&gt; </span>song_one <span class=\"o\">=</span> Song<span class=\"o\">.</span>objects<span class=\"o\">.</span>create<span class=\"p\">(</span>artist<span class=\"o\">=</span>artist_one<span class=\"p\">,</span> album<span class=\"o\">=</span>album_one<span class=\"p\">)</span>\n<span class=\"gp\">&gt;&gt;&gt; </span>song_two <span class=\"o\">=</span> Song<span class=\"o\">.</span>objects<span class=\"o\">.</span>create<span class=\"p\">(</span>artist<span class=\"o\">=</span>artist_one<span class=\"p\">,</span> album<span class=\"o\">=</span>album_two<span class=\"p\">)</span>\n<span class=\"gp\">&gt;&gt;&gt; </span>album_one<span class=\"o\">.</span>delete<span class=\"p\">()</span>\n<span class=\"go\"># Raises RestrictedError.</span>\n<span class=\"gp\">&gt;&gt;&gt; </span>artist_two<span class=\"o\">.</span>delete<span class=\"p\">()</span>\n<span class=\"go\"># Raises RestrictedError.</span>\n<span class=\"gp\">&gt;&gt;&gt; </span>artist_one<span class=\"o\">.</span>delete<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\">SET_NULL</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\">ForeignKey</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\">null</code></a> är <code class=\"docutils literal notranslate\">True</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.SET_DEFAULT\">\n<span class=\"sig-name descname\">SET_DEFAULT</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\">ForeignKey</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\">ForeignKey</code></a> måste anges.</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\">SET</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>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\">ForeignKey</code></a> till det värde som skickades till <a class=\"reference internal\" href=\"#django.db.models.SET\" title=\"django.db.models.SET\"><code class=\"xref py py-func docutils literal notranslate\">SET()</code></a>, eller om en callable skickas in, resultatet av att anropa den. I de flesta fall kommer det att vara nödvändigt att skicka en anropbar för att undvika att köra frågor när din <code class=\"docutils literal notranslate\">models.py</code> importeras:</p>\n<div class=\"code-block\" data-language=\"default\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Code</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Code code\"><code><span class=\"kn\">from</span> <span class=\"nn\">django.conf</span> <span class=\"kn\">import</span> settings\n<span class=\"kn\">from</span> <span class=\"nn\">django.contrib.auth</span> <span class=\"kn\">import</span> get_user_model\n<span class=\"kn\">from</span> <span class=\"nn\">django.db</span> <span class=\"kn\">import</span> models\n\n\n<span class=\"k\">def</span> <span class=\"nf\">get_sentinel_user</span><span class=\"p\">():</span>\n    <span class=\"k\">return</span> get_user_model<span class=\"p\">()</span><span class=\"o\">.</span>objects<span class=\"o\">.</span>get_or_create<span class=\"p\">(</span>username<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=\"nc\">MyModel</span><span class=\"p\">(</span>models<span class=\"o\">.</span>Model<span class=\"p\">):</span>\n    user <span class=\"o\">=</span> models<span class=\"o\">.</span>ForeignKey<span class=\"p\">(</span>\n        settings<span class=\"o\">.</span>AUTH_USER_MODEL<span class=\"p\">,</span>\n        on_delete<span class=\"o\">=</span>models<span class=\"o\">.</span>SET<span class=\"p\">(</span>get_sentinel_user<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\">DO_NOTHING</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/5.2/ref/exceptions/#django.db.IntegrityError\" title=\"django.db.IntegrityError\"><code class=\"xref py py-exc docutils literal notranslate\">IntegrityError</code></a> om du inte manuellt lägger till en SQL <code class=\"docutils literal notranslate\">ON DELETE</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\">ForeignKey.</span><span class=\"sig-name descname\">limit_choices_to</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\">ModelForm</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/5.2/ref/models/querysets/#django.db.models.Q\" title=\"django.db.models.Q\"><code class=\"xref py py-class docutils literal notranslate\">Q</code></a>-objekt eller en callable som returnerar en ordbok eller ett <a class=\"reference internal\" href=\"/sv/5.2/ref/models/querysets/#django.db.models.Q\" title=\"django.db.models.Q\"><code class=\"xref py py-class docutils literal notranslate\">Q</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>staff_member <span class=\"o\">=</span> models<span class=\"o\">.</span>ForeignKey<span class=\"p\">(</span>\n    User<span class=\"p\">,</span>\n    on_delete<span class=\"o\">=</span>models<span class=\"o\">.</span>CASCADE<span class=\"p\">,</span>\n    limit_choices_to<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\">ModelForm</code> endast listar <code class=\"docutils literal notranslate\">User</code>-instanser som har <code class=\"docutils literal notranslate\">is_staff=True</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\">datetime</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=\"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> datetime<span class=\"o\">.</span>date<span class=\"o\">.</span>today<span class=\"p\">()}</span>\n\n\nlimit_choices_to <span class=\"o\">=</span> limit_pub_date_choices\n</code></pre></div>\n<p>Om <code class=\"docutils literal notranslate\">limit_choices_to</code> är eller returnerar ett <a class=\"reference internal\" href=\"/sv/5.2/ref/models/querysets/#django.db.models.Q\" title=\"django.db.models.Q\"><code class=\"xref py py-class docutils literal notranslate\">Q-objekt</code></a>, vilket är användbart för <a class=\"reference internal\" href=\"/sv/5.2/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/5.2/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\">raw_id_fields</code></a> i <code class=\"docutils literal notranslate\">ModelAdmin</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\">limit_choices_to</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\">ForeignKey.</span><span class=\"sig-name descname\">related_name</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\">related_query_name</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/5.2/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/5.2/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/5.2/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\">related_name</code> till <code class=\"docutils literal notranslate\">'+'</code> eller avsluta det med <code class=\"docutils literal notranslate\">'+'</code>. Till exempel: kommer detta att säkerställa att modellen <code class=\"docutils literal notranslate\">User</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>user <span class=\"o\">=</span> models<span class=\"o\">.</span>ForeignKey<span class=\"p\">(</span>\n    User<span class=\"p\">,</span>\n    on_delete<span class=\"o\">=</span>models<span class=\"o\">.</span>CASCADE<span class=\"p\">,</span>\n    related_name<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\">ForeignKey.</span><span class=\"sig-name descname\">related_query_name</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\">related_name</code></a> eller <a class=\"reference internal\" href=\"/sv/5.2/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\">default_related_name</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=\"nc\">Tag</span><span class=\"p\">(</span>models<span class=\"o\">.</span>Model<span class=\"p\">):</span>\n    article <span class=\"o\">=</span> models<span class=\"o\">.</span>ForeignKey<span class=\"p\">(</span>\n        Article<span class=\"p\">,</span>\n        on_delete<span class=\"o\">=</span>models<span class=\"o\">.</span>CASCADE<span class=\"p\">,</span>\n        related_name<span class=\"o\">=</span><span class=\"s2\">&quot;tags&quot;</span><span class=\"p\">,</span>\n        related_query_name<span class=\"o\">=</span><span class=\"s2\">&quot;tag&quot;</span><span class=\"p\">,</span>\n    <span class=\"p\">)</span>\n    name <span class=\"o\">=</span> models<span class=\"o\">.</span>CharField<span class=\"p\">(</span>max_length<span class=\"o\">=</span><span class=\"mi\">255</span><span class=\"p\">)</span>\n\n\n<span class=\"c1\"># That&#39;s now the name of the reverse filter</span>\nArticle<span class=\"o\">.</span>objects<span class=\"o\">.</span>filter<span class=\"p\">(</span>tag__name<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\">related_name</code></a> stöder <code class=\"docutils literal notranslate\">related_query_name</code> interpolering av appetiketter och klasser via <a class=\"reference internal\" href=\"/sv/5.2/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\">ForeignKey.</span><span class=\"sig-name descname\">to_field</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\">unique=True</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\">ForeignKey.</span><span class=\"sig-name descname\">db_constraint</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\">True</code>, och det är nästan säkert vad du vill ha; att ställa in detta på <code class=\"docutils literal notranslate\">False</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\">False</code> kommer åtkomst till ett relaterat objekt som inte finns att ge upphov till dess <code class=\"docutils literal notranslate\">DoesNotExist</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\">ForeignKey.</span><span class=\"sig-name descname\">swappable</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\">ForeignKey</code></a> pekar på en utbytbar modell. Om det är <code class=\"docutils literal notranslate\">True</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\">ForeignKey</code></a> pekar på en modell som matchar det aktuella värdet för <code class=\"docutils literal notranslate\">settings.AUTH_USER_MODEL</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\">False</code> betyder inte att du kan referera till en utbytbar modell även om den byts ut - <code class=\"docutils literal notranslate\">False</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\">ForeignKey</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\">User</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\">True</code>.</p>\n</dd></dl>\n\n</section>\n</section>\n<section id=\"manytomanyfield\">\n<h3><code class=\"docutils literal notranslate\">ManyToManyField</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\">class</span> </em><span class=\"sig-name descname\">ManyToManyField</span><span class=\"sig-paren\">(</span><em class=\"sig-param\">to</em>, <em class=\"sig-param\"><span class=\"o\">**</span>options</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\">ForeignKey</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/5.2/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\">RelatedManager</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\">author_books_9cdf</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\">db_table</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\">ManyToManyField</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\">ManyToManyField.</span><span class=\"sig-name descname\">related_name</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\">ForeignKey.related_name</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\">ManyToManyField.</span><span class=\"sig-name descname\">related_query_name</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\">ForeignKey.related_query_name</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\">ManyToManyField.</span><span class=\"sig-name descname\">limit_choices_to</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\">ForeignKey.limit_choices_to</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\">ManyToManyField.</span><span class=\"sig-name descname\">symmetrical</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=\"nn\">django.db</span> <span class=\"kn\">import</span> models\n\n\n<span class=\"k\">class</span> <span class=\"nc\">Person</span><span class=\"p\">(</span>models<span class=\"o\">.</span>Model<span class=\"p\">):</span>\n    friends <span class=\"o\">=</span> models<span class=\"o\">.</span>ManyToManyField<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\">ManyToManyField</code></a> på sig själv, och som ett resultat lägger den inte till ett <code class=\"docutils literal notranslate\">person_set</code>-attribut till <code class=\"docutils literal notranslate\">Person</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\">ManyToManyField</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\">själv</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\">symmetrical</code></a> till <code class=\"docutils literal notranslate\">False</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\">ManyToManyField</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\">ManyToManyField.</span><span class=\"sig-name descname\">through</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\">through</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\">genom</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/5.2/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\">related_name</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\">related_name</code> till <code class=\"docutils literal notranslate\">'+'</code>.</p>\n</aside>\n<aside class=\"admonition-foreign-key-order-in-intermediary-models admonition\" role=\"note\">\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\">through_fields</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\">ManyToManyField</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=\"nn\">django.db</span> <span class=\"kn\">import</span> models\n\n\n<span class=\"k\">class</span> <span class=\"nc\">Manufacturer</span><span class=\"p\">(</span>models<span class=\"o\">.</span>Model<span class=\"p\">):</span>\n    name <span class=\"o\">=</span> models<span class=\"o\">.</span>CharField<span class=\"p\">(</span>max_length<span class=\"o\">=</span><span class=\"mi\">255</span><span class=\"p\">)</span>\n    clients <span class=\"o\">=</span> models<span class=\"o\">.</span>ManyToManyField<span class=\"p\">(</span>\n        <span class=\"s2\">&quot;self&quot;</span><span class=\"p\">,</span> symmetrical<span class=\"o\">=</span><span class=\"kc\">False</span><span class=\"p\">,</span> related_name<span class=\"o\">=</span><span class=\"s2\">&quot;suppliers&quot;</span><span class=\"p\">,</span> through<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=\"nc\">Supply</span><span class=\"p\">(</span>models<span class=\"o\">.</span>Model<span class=\"p\">):</span>\n    supplier <span class=\"o\">=</span> models<span class=\"o\">.</span>ForeignKey<span class=\"p\">(</span>\n        Manufacturer<span class=\"p\">,</span> models<span class=\"o\">.</span>CASCADE<span class=\"p\">,</span> related_name<span class=\"o\">=</span><span class=\"s2\">&quot;supplies_given&quot;</span>\n    <span class=\"p\">)</span>\n    client <span class=\"o\">=</span> models<span class=\"o\">.</span>ForeignKey<span class=\"p\">(</span>\n        Manufacturer<span class=\"p\">,</span> models<span class=\"o\">.</span>CASCADE<span class=\"p\">,</span> related_name<span class=\"o\">=</span><span class=\"s2\">&quot;supplies_received&quot;</span>\n    <span class=\"p\">)</span>\n    product <span class=\"o\">=</span> models<span class=\"o\">.</span>CharField<span class=\"p\">(</span>max_length<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\">Manufacturer</code> många-till-många-relationen med <code class=\"docutils literal notranslate\">clients</code> i sin roll som leverantör. Därför måste <code class=\"docutils literal notranslate\">leverantörens</code> främmande nyckel (källan) komma före <code class=\"docutils literal notranslate\">klientens</code> främmande nyckel (målet) i den mellanliggande <code class=\"docutils literal notranslate\">Supply</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\">through_fields=(&quot;supplier&quot;, &quot;client&quot;)</code></a> på <code class=\"docutils literal notranslate\">ManyToManyField</code> blir ordningen på främmande nycklar i <code class=\"docutils literal notranslate\">through</code>-modellen irrelevant.</p>\n</aside>\n<p>Om du inte anger en explicit <code class=\"docutils literal notranslate\">through</code>-modell finns det fortfarande en implicit <code class=\"docutils literal notranslate\">through</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\">id</code>: relationens primärnyckel.</p></li>\n<li><p><code class=\"docutils literal notranslate\">&lt;containing_model&gt;_id</code>: <code class=\"docutils literal notranslate\">id</code> för den modell som deklarerar <code class=\"docutils literal notranslate\">ManyToManyField</code>.</p></li>\n<li><p><code class=\"docutils literal notranslate\">&lt;other_model&gt;_id</code>: <code class=\"docutils literal notranslate\">id</code> för den modell som <code class=\"docutils literal notranslate\">ManyToManyField</code> pekar på.</p></li>\n</ul>\n<p>Om <code class=\"docutils literal notranslate\">ManyToManyField</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\">id</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>Model<span class=\"o\">.</span>m2mfield<span class=\"o\">.</span>through<span class=\"o\">.</span>objects<span class=\"o\">.</span>all<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\">ManyToManyField.</span><span class=\"sig-name descname\">through_fields</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=\"nn\">django.db</span> <span class=\"kn\">import</span> models\n\n\n<span class=\"k\">class</span> <span class=\"nc\">Person</span><span class=\"p\">(</span>models<span class=\"o\">.</span>Model<span class=\"p\">):</span>\n    name <span class=\"o\">=</span> models<span class=\"o\">.</span>CharField<span class=\"p\">(</span>max_length<span class=\"o\">=</span><span class=\"mi\">50</span><span class=\"p\">)</span>\n\n\n<span class=\"k\">class</span> <span class=\"nc\">Group</span><span class=\"p\">(</span>models<span class=\"o\">.</span>Model<span class=\"p\">):</span>\n    name <span class=\"o\">=</span> models<span class=\"o\">.</span>CharField<span class=\"p\">(</span>max_length<span class=\"o\">=</span><span class=\"mi\">128</span><span class=\"p\">)</span>\n    members <span class=\"o\">=</span> models<span class=\"o\">.</span>ManyToManyField<span class=\"p\">(</span>\n        Person<span class=\"p\">,</span>\n        through<span class=\"o\">=</span><span class=\"s2\">&quot;Membership&quot;</span><span class=\"p\">,</span>\n        through_fields<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=\"nc\">Membership</span><span class=\"p\">(</span>models<span class=\"o\">.</span>Model<span class=\"p\">):</span>\n    group <span class=\"o\">=</span> models<span class=\"o\">.</span>ForeignKey<span class=\"p\">(</span>Group<span class=\"p\">,</span> on_delete<span class=\"o\">=</span>models<span class=\"o\">.</span>CASCADE<span class=\"p\">)</span>\n    person <span class=\"o\">=</span> models<span class=\"o\">.</span>ForeignKey<span class=\"p\">(</span>Person<span class=\"p\">,</span> on_delete<span class=\"o\">=</span>models<span class=\"o\">.</span>CASCADE<span class=\"p\">)</span>\n    inviter <span class=\"o\">=</span> models<span class=\"o\">.</span>ForeignKey<span class=\"p\">(</span>\n        Person<span class=\"p\">,</span>\n        on_delete<span class=\"o\">=</span>models<span class=\"o\">.</span>CASCADE<span class=\"p\">,</span>\n        related_name<span class=\"o\">=</span><span class=\"s2\">&quot;membership_invites&quot;</span><span class=\"p\">,</span>\n    <span class=\"p\">)</span>\n    invite_reason <span class=\"o\">=</span> models<span class=\"o\">.</span>CharField<span class=\"p\">(</span>max_length<span class=\"o\">=</span><span class=\"mi\">64</span><span class=\"p\">)</span>\n</code></pre></div>\n<p><code class=\"docutils literal notranslate\">Membership</code> har <em>två</em> främmande nycklar till <code class=\"docutils literal notranslate\">Person</code> (<code class=\"docutils literal notranslate\">person</code> och <code class=\"docutils literal notranslate\">inviter</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\">through_fields</code>, som i exemplet ovan.</p>\n<p><code class=\"docutils literal notranslate\">through_fields</code> accepterar en 2-tupel <code class=\"docutils literal notranslate\">('field1', 'field2')</code>, där <code class=\"docutils literal notranslate\">field1</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\">ManyToManyField</code></a> definieras på (<code class=\"docutils literal notranslate\">group</code> i det här fallet), och <code class=\"docutils literal notranslate\">field2</code> är namnet på den främmande nyckeln till målmodellen (<code class=\"docutils literal notranslate\">person</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\">through_fields</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\">ManyToManyField.</span><span class=\"sig-name descname\">db_table</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\">ManyToManyField.</span><span class=\"sig-name descname\">db_constraint</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\">True</code>, och det är nästan säkert vad du vill ha; att ställa in detta på <code class=\"docutils literal notranslate\">False</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\">db_constraint</code> och <code class=\"docutils literal notranslate\">through</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\">ManyToManyField.</span><span class=\"sig-name descname\">swappable</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\">ManyToManyField</code></a> pekar på en utbytbar modell. Om det är <code class=\"docutils literal notranslate\">True</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\">ManyToManyField</code></a> pekar på en modell som matchar det aktuella värdet för <code class=\"docutils literal notranslate\">settings.AUTH_USER_MODEL</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\">True</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\">ManyToManyField</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\">validators</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\">null</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\">OneToOneField</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\">class</span> </em><span class=\"sig-name descname\">OneToOneField</span><span class=\"sig-paren\">(</span><em class=\"sig-param\">to</em>, <em class=\"sig-param\">on_delete</em>, <em class=\"sig-param\">parent_link<span class=\"o\">=</span><span class=\"default_value\">False</span></em>, <em class=\"sig-param\"><span class=\"o\">**</span>options</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\">ForeignKey</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\">unique=True</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/5.2/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\">ForeignKey</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\">related_name</code></a> för <code class=\"docutils literal notranslate\">OneToOneField</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=\"nn\">django.conf</span> <span class=\"kn\">import</span> settings\n<span class=\"kn\">from</span> <span class=\"nn\">django.db</span> <span class=\"kn\">import</span> models\n\n\n<span class=\"k\">class</span> <span class=\"nc\">MySpecialUser</span><span class=\"p\">(</span>models<span class=\"o\">.</span>Model<span class=\"p\">):</span>\n    user <span class=\"o\">=</span> models<span class=\"o\">.</span>OneToOneField<span class=\"p\">(</span>\n        settings<span class=\"o\">.</span>AUTH_USER_MODEL<span class=\"p\">,</span>\n        on_delete<span class=\"o\">=</span>models<span class=\"o\">.</span>CASCADE<span class=\"p\">,</span>\n    <span class=\"p\">)</span>\n    supervisor <span class=\"o\">=</span> models<span class=\"o\">.</span>OneToOneField<span class=\"p\">(</span>\n        settings<span class=\"o\">.</span>AUTH_USER_MODEL<span class=\"p\">,</span>\n        on_delete<span class=\"o\">=</span>models<span class=\"o\">.</span>CASCADE<span class=\"p\">,</span>\n        related_name<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\">User</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>user <span class=\"o\">=</span> User<span class=\"o\">.</span>objects<span class=\"o\">.</span>get<span class=\"p\">(</span>pk<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>user<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>user<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\">RelatedObjectDoesNotExist</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/5.2/ref/models/class/#django.db.models.Model.DoesNotExist\" title=\"django.db.models.Model.DoesNotExist\"><code class=\"xref py py-exc docutils literal notranslate\">Model.DoesNotExist</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\">MySpecialUser</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    user<span class=\"o\">.</span>supervisor_of\n<span class=\"k\">except</span> User<span class=\"o\">.</span>supervisor_of<span class=\"o\">.</span>RelatedObjectDoesNotExist<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\">OneToOneField</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\">ForeignKey</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\">OneToOneField.</span><span class=\"sig-name descname\">parent_link</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\">True</code> och används i en modell som ärver från en annan <a class=\"reference internal\" href=\"/sv/5.2/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\">OneToOneField</code> som normalt skulle skapas implicit genom subklassning.</p>\n</dd></dl>\n\n<p>Se <a class=\"reference internal\" href=\"/sv/5.2/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\">OneToOneField</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\">&quot;self&quot;</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=\"nn\">django.db</span> <span class=\"kn\">import</span> models\n\n\n<span class=\"k\">class</span> <span class=\"nc\">Manufacturer</span><span class=\"p\">(</span>models<span class=\"o\">.</span>Model<span class=\"p\">):</span>\n    name <span class=\"o\">=</span> models<span class=\"o\">.</span>TextField<span class=\"p\">()</span>\n    suppliers <span class=\"o\">=</span> models<span class=\"o\">.</span>ManyToManyField<span class=\"p\">(</span><span class=\"s2\">&quot;self&quot;</span><span class=\"p\">,</span> symmetrical<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/5.2/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=\"nn\">django.db</span> <span class=\"kn\">import</span> models\n\n\n<span class=\"k\">class</span> <span class=\"nc\">Car</span><span class=\"p\">(</span>models<span class=\"o\">.</span>Model<span class=\"p\">):</span>\n    manufacturer <span class=\"o\">=</span> models<span class=\"o\">.</span>ForeignKey<span class=\"p\">(</span>\n        <span class=\"s2\">&quot;Manufacturer&quot;</span><span class=\"p\">,</span>\n        on_delete<span class=\"o\">=</span>models<span class=\"o\">.</span>CASCADE<span class=\"p\">,</span>\n    <span class=\"p\">)</span>\n\n\n<span class=\"k\">class</span> <span class=\"nc\">Manufacturer</span><span class=\"p\">(</span>models<span class=\"o\">.</span>Model<span class=\"p\">):</span>\n    name <span class=\"o\">=</span> models<span class=\"o\">.</span>TextField<span class=\"p\">()</span>\n    suppliers <span class=\"o\">=</span> models<span class=\"o\">.</span>ManyToManyField<span class=\"p\">(</span><span class=\"s2\">&quot;self&quot;</span><span class=\"p\">,</span> symmetrical<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/5.2/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\">app_label</code>:</p>\n<figure class=\"code-block code-block-captioned\" data-language=\"python\"><figcaption class=\"code-block-caption\"><code class=\"docutils literal notranslate\">produkter/modeller.py</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=\"nn\">django.db</span> <span class=\"kn\">import</span> models\n\n\n<span class=\"k\">class</span> <span class=\"nc\">AbstractCar</span><span class=\"p\">(</span>models<span class=\"o\">.</span>Model<span class=\"p\">):</span>\n    manufacturer <span class=\"o\">=</span> models<span class=\"o\">.</span>ForeignKey<span class=\"p\">(</span><span class=\"s2\">&quot;Manufacturer&quot;</span><span class=\"p\">,</span> on_delete<span class=\"o\">=</span>models<span class=\"o\">.</span>CASCADE<span class=\"p\">)</span>\n\n    <span class=\"k\">class</span> <span class=\"nc\">Meta</span><span class=\"p\">:</span>\n        abstract <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\">produktion/modeller.py</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=\"nn\">django.db</span> <span class=\"kn\">import</span> models\n<span class=\"kn\">from</span> <span class=\"nn\">products.models</span> <span class=\"kn\">import</span> AbstractCar\n\n\n<span class=\"k\">class</span> <span class=\"nc\">Manufacturer</span><span class=\"p\">(</span>models<span class=\"o\">.</span>Model<span class=\"p\">):</span>\n    name <span class=\"o\">=</span> models<span class=\"o\">.</span>TextField<span class=\"p\">()</span>\n\n\n<span class=\"k\">class</span> <span class=\"nc\">Car</span><span class=\"p\">(</span>AbstractCar<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\">Car.manufacturer</code> att lösas upp till <code class=\"docutils literal notranslate\">production.Manufacturer</code>, eftersom den pekar på den konkreta modell som definieras i filen <code class=\"docutils literal notranslate\">production/models.py</code>.</p>\n<aside class=\"admonition-reusable-models-with-relative-references admonition\" role=\"note\">\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\">app_label</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\">Manufacturer</code> definieras i en annan applikation som heter <code class=\"docutils literal notranslate\">thirdpartyapp</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=\"nc\">Car</span><span class=\"p\">(</span>models<span class=\"o\">.</span>Model<span class=\"p\">):</span>\n    manufacturer <span class=\"o\">=</span> models<span class=\"o\">.</span>ForeignKey<span class=\"p\">(</span>\n        <span class=\"s2\">&quot;thirdpartyapp.Manufacturer&quot;</span><span class=\"p\">,</span>\n        on_delete<span class=\"o\">=</span>models<span class=\"o\">.</span>CASCADE<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/5.2/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\">class</span> </em><span class=\"sig-name descname\">Field</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\">Field</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\">db_type()</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\">get_prep_value()</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\">from_db_value()</code></a>).</p>\n<p>Ett fält är således en grundläggande del i olika Django API:er, i synnerhet <a class=\"reference internal\" href=\"/sv/5.2/ref/models/instances/#django.db.models.Model\" title=\"django.db.models.Model\"><code class=\"xref py py-class docutils literal notranslate\">models</code></a> och <a class=\"reference internal\" href=\"/sv/5.2/ref/models/querysets/#django.db.models.query.QuerySet\" title=\"django.db.models.query.QuerySet\"><code class=\"xref py py-class docutils literal notranslate\">querysets</code></a>.</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/5.2/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\">null</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\">unique</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\">Field</code> är en underklass av <a class=\"reference internal\" href=\"/sv/5.2/ref/models/lookups/#django.db.models.lookups.RegisterLookupMixin\" title=\"django.db.models.lookups.RegisterLookupMixin\"><code class=\"xref py py-class docutils literal notranslate\">RegisterLookupMixin</code></a> och därmed kan både <a class=\"reference internal\" href=\"/sv/5.2/ref/models/lookups/#django.db.models.Transform\" title=\"django.db.models.Transform\"><code class=\"xref py py-class docutils literal notranslate\">Transform</code></a> och <code class=\"xref py py-class docutils literal notranslate\">Lookup`</code> registreras på den för att användas i <code class=\"docutils literal notranslate\">QuerySet</code> (t.ex. <code class=\"docutils literal notranslate\">field_name__exact=&quot;foo&quot;</code>). Alla <a class=\"reference internal\" href=\"/sv/5.2/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\">CharField</code></a>, är särskilda implementeringar av <code class=\"docutils literal notranslate\">Field</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\">Field</code> från början. I båda fallen, se <a class=\"reference internal\" href=\"/sv/5.2/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\">description</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/5.2/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\">django.contrib.admindocs</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>description <span class=\"o\">=</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\">__dict__</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\">descriptor_class</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>En klass som implementerar <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> som instansieras och tilldelas attributet för modellinstansen. Konstruktören måste acceptera ett enda argument, <code class=\"docutils literal notranslate\">Field</code>-instansen. Åsidosättande av detta klassattribut gör det möjligt att anpassa get- och set-beteendet.</p>\n</dd></dl>\n\n<p>För att mappa en <code class=\"docutils literal notranslate\">Field</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\">get_internal_type</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/5.2/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\">db_type</span><span class=\"sig-paren\">(</span><em class=\"sig-param\">connection</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\">Field</code></a>, med hänsyn tagen till <code class=\"docutils literal notranslate\">connection</code>.</p>\n<p>Se <a class=\"reference internal\" href=\"/sv/5.2/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\">rel_db_type</span><span class=\"sig-paren\">(</span><em class=\"sig-param\">connection</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\">ForeignKey</code> och <code class=\"docutils literal notranslate\">OneToOneField</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\">Field</code></a>, med hänsyn tagen till <code class=\"docutils literal notranslate\">connection</code>.</p>\n<p>Se <a class=\"reference internal\" href=\"/sv/5.2/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\">get_db_prep_value()</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\">get_prep_value()</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\">get_prep_value</span><span class=\"sig-paren\">(</span><em class=\"sig-param\">value</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\">value</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/5.2/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\">get_db_prep_value</span><span class=\"sig-paren\">(</span><em class=\"sig-param\">value</em>, <em class=\"sig-param\">connection</em>, <em class=\"sig-param\">prepared<span class=\"o\">=</span><span class=\"default_value\">False</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>Konverterar <code class=\"docutils literal notranslate\">value</code> till ett backend-specifikt värde. Som standard returnerar den <code class=\"docutils literal notranslate\">value</code> om <code class=\"docutils literal notranslate\">prepared=True</code> 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\">get_prep_value()</code></a> om är <code class=\"docutils literal notranslate\">False</code>.</p>\n<p>Se <a class=\"reference internal\" href=\"/sv/5.2/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\">from_db_value()</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\">from_db_value</span><span class=\"sig-paren\">(</span><em class=\"sig-param\">value</em>, <em class=\"sig-param\">expression</em>, <em class=\"sig-param\">connection</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\">get_prep_value()</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\">uttryck</code> är detsamma som <code class=\"docutils literal notranslate\">själv</code>.</p>\n<p>Se <a class=\"reference internal\" href=\"/sv/5.2/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\">from_db_value</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\">super</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\">pre_save()</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\">get_db_prep_save()</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\">get_db_prep_save</span><span class=\"sig-paren\">(</span><em class=\"sig-param\">value</em>, <em class=\"sig-param\">connection</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\">get_db_prep_value()</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\">get_db_prep_value()</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\">pre_save</span><span class=\"sig-paren\">(</span><em class=\"sig-param\">model_instance</em>, <em class=\"sig-param\">add</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\">get_db_prep_save()</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\">DateField.auto_now</code></a>).</p>\n<p><code class=\"docutils literal notranslate\">model_instance</code> är den instans som detta fält tillhör och <code class=\"docutils literal notranslate\">add</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\">model_instance</code> för detta fält. Attributnamnet finns i <code class=\"docutils literal notranslate\">self.attname</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\">Field</code></a>).</p>\n<p>Se <a class=\"reference internal\" href=\"/sv/5.2/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\">to_python</span><span class=\"sig-paren\">(</span><em class=\"sig-param\">value</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\">value_to_string()</code></a>, och anropas också i <a class=\"reference internal\" href=\"/sv/5.2/ref/models/instances/#django.db.models.Model.clean\" title=\"django.db.models.Model.clean\"><code class=\"xref py py-meth docutils literal notranslate\">clean()</code></a>.</p>\n<p>Se <a class=\"reference internal\" href=\"/sv/5.2/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\">value_from_object</span><span class=\"sig-paren\">(</span><em class=\"sig-param\">obj</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\">value_to_string()</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\">value_to_string</span><span class=\"sig-paren\">(</span><em class=\"sig-param\">obj</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\">obj</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/5.2/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>När man använder <a class=\"reference internal\" href=\"/sv/5.2/topics/forms/modelforms/#django.forms.ModelForm\" title=\"django.forms.ModelForm\"><code class=\"xref py py-class docutils literal notranslate\">model forms</code></a>, måste <code class=\"docutils literal notranslate\">Field</code> veta vilket formulärfält den ska representeras av:</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\">formfield</span><span class=\"sig-paren\">(</span><em class=\"sig-param\">form_class<span class=\"o\">=</span><span class=\"default_value\">None</span></em>, <em class=\"sig-param\">choices_form_class<span class=\"o\">=</span><span class=\"default_value\">None</span></em>, <em class=\"sig-param\"><span class=\"o\">**</span>kwargs</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/5.2/ref/forms/fields/#django.forms.Field\" title=\"django.forms.Field\"><code class=\"xref py py-class docutils literal notranslate\">django.forms.Field</code></a> för detta fält för <a class=\"reference internal\" href=\"/sv/5.2/topics/forms/modelforms/#django.forms.ModelForm\" title=\"django.forms.ModelForm\"><code class=\"xref py py-class docutils literal notranslate\">ModelForm</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\">formfield()</code></a> åsidosätts för att returnera <code class=\"docutils literal notranslate\">None</code>, utesluts detta fält från <a class=\"reference internal\" href=\"/sv/5.2/topics/forms/modelforms/#django.forms.ModelForm\" title=\"django.forms.ModelForm\"><code class=\"xref py py-class docutils literal notranslate\">ModelForm</code></a>.</p>\n<p>Som standard, om både <code class=\"docutils literal notranslate\">form_class</code> och <code class=\"docutils literal notranslate\">choices_form_class</code> är <code class=\"docutils literal notranslate\">None</code>, används <a class=\"reference internal\" href=\"/sv/5.2/ref/forms/fields/#django.forms.CharField\" title=\"django.forms.CharField\"><code class=\"xref py py-class docutils literal notranslate\">CharField</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\">choices</code></a> och <code class=\"docutils literal notranslate\">choices_form_class</code> inte är specificerat, används <a class=\"reference internal\" href=\"/sv/5.2/ref/forms/fields/#django.forms.TypedChoiceField\" title=\"django.forms.TypedChoiceField\"><code class=\"xref py py-class docutils literal notranslate\">TypedChoiceField</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\">deconstruct</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\">&quot;django.db.models.IntegerField&quot;</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/5.2/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\">Field</code> implementerar <a class=\"reference internal\" href=\"/sv/5.2/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\">Field</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\">isinstance</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/5.2/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\">Field.</span><span class=\"sig-name descname\">auto_created</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\">OneToOneField</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\">Field.</span><span class=\"sig-name descname\">concrete</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\">Field.</span><span class=\"sig-name descname\">hidden</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/5.2/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\">Options.get_fields()</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\">ForeignKey</code></a> med ett <code class=\"docutils literal notranslate\">related_name</code> som börjar med <code class=\"docutils literal notranslate\">'+'</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\">Field.</span><span class=\"sig-name descname\">is_relation</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\">ForeignKey</code>, <code class=\"docutils literal notranslate\">ManyToManyField</code>, <code class=\"docutils literal notranslate\">OneToOneField</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\">Field.</span><span class=\"sig-name descname\">model</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\">model</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\">None</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\">Field.is_relation=True</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\">Field.</span><span class=\"sig-name descname\">many_to_many</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\">True</code> om fältet har en many-to-many-relation; <code class=\"docutils literal notranslate\">False</code> annars. Det enda fältet som ingår i Django där detta är <code class=\"docutils literal notranslate\">True</code> är <code class=\"docutils literal notranslate\">ManyToManyField</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\">Field.</span><span class=\"sig-name descname\">many_to_one</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\">True</code> om fältet har en många-till-en-relation, t.ex. en <code class=\"docutils literal notranslate\">ForeignKey</code>; annars <code class=\"docutils literal notranslate\">False</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\">Field.</span><span class=\"sig-name descname\">one_to_many</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\">True</code> om fältet har en en-till-många-relation, t.ex. en <code class=\"docutils literal notranslate\">GenericRelation</code> eller motsatsen till en <code class=\"docutils literal notranslate\">ForeignKey</code>; annars <code class=\"docutils literal notranslate\">False</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\">Field.</span><span class=\"sig-name descname\">one_to_one</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\">True</code> om fältet har en en-till-en-relation, t.ex. ett <code class=\"docutils literal notranslate\">OneToOneField</code>; annars <code class=\"docutils literal notranslate\">False</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\">Field.</span><span class=\"sig-name descname\">related_model</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\">Author</code> i <code class=\"docutils literal notranslate\">ForeignKey(Author, on_delete=models.CASCADE)</code>. Den <code class=\"docutils literal notranslate\">related_model</code> för en <code class=\"docutils literal notranslate\">GenericForeignKey</code> är alltid <code class=\"docutils literal notranslate\">None</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/5.2/ref/"},{"docname":"ref/models/index","title":"Modeller","url":"/sv/5.2/ref/models/"}],"prev":{"docname":"ref/models/index","title":"Modeller","url":"/sv/5.2/ref/models/"},"next":{"docname":"ref/models/indexes","title":"Referens till modellindex","url":"/sv/5.2/ref/models/indexes/"},"formats":{"html":"/sv/5.2/ref/models/fields/","markdown":"/sv/5.2/ref/models/fields.md","json":"/sv/5.2/ref/models/fields.json"},"source":"https://github.com/django/django/blob/stable/5.2.x/docs/ref/models/fields.txt","official":"https://docs.djangoproject.com/sv/5.2/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"]}