---
title: "Django 5.2 versionsinformation"
version: 6.0
locale: sv
source: https://docs.djangoproject.com/sv/6.0/releases/5.2/
canonical: https://djangodocs.dev/sv/6.0/releases/5.2/
---
# Django 5.2 versionsinformation

*2 april 2025*

Välkommen till Django 5.2!

Dessa versionsinformation täcker [nya funktioner](#whats-new-5-2), samt några [bakåtkompatibla ändringar](#backwards-incompatible-5-2) som du bör vara medveten om när du uppgraderar från Django 5.1 eller tidigare. Vi har [börjat utfasningsprocessen för vissa funktioner](#deprecated-features-5-2).

Se guiden [Så här uppgraderar du Django till en nyare version](/sv/6.0/howto/upgrade-version/) om du ska uppdatera ett befintligt projekt.

Django 5.2 betecknas som en [long-term support release](/sv/6.0/internals/release-process/#term-Long-term-support-release). Den kommer att få säkerhetsuppdateringar i minst tre år efter att den släppts. Stöd för den tidigare LTS, Django 4.2, kommer att upphöra i april 2026.

## Kompatibilitet med Python

Django 5.2 har stöd för Python 3.10, 3.11, 3.12, 3.13 och 3.14 (från och med 5.2.8). Vi **rekommenderar starkt** och stöder endast officiellt den senaste utgåvan av varje serie.

## Vad är nytt i Django 5.2

### Automatisk import av modeller i `shell`

Hanteringskommandot [`shell`](/sv/6.0/ref/django-admin/#django-admin-shell) importerar nu automatiskt modeller från alla installerade appar. Du kan visa ytterligare detaljer om de importerade objekten genom att ställa in flaggan `--verbosity` till 2 eller mer:

```console
$ python -Wall manage.py shell --verbosity=2
6 objects imported automatically, including:

  from django.contrib.admin.models import LogEntry
  from django.contrib.auth.models import Group, Permission, User
  from django.contrib.contenttypes.models import ContentType
  from django.contrib.sessions.models import Session
```

*Windows*

```doscon
...\> py -Wall manage.py shell --verbosity=2
6 objects imported automatically, including:

  from django.contrib.admin.models import LogEntry
  from django.contrib.auth.models import Group, Permission, User
  from django.contrib.contenttypes.models import ContentType
  from django.contrib.sessions.models import Session
```

Detta [beteende kan anpassas](/sv/6.0/howto/custom-shell/#customizing-shell-auto-imports) för att lägga till eller ta bort automatisk import.

### Sammansatta primära nycklar

Den nya [`django.db.models.CompositePrimaryKey`](/sv/6.0/ref/models/fields/#django.db.models.CompositePrimaryKey) gör det möjligt att skapa tabeller med en primärnyckel som består av flera fält.

För att använda en sammansatt primärnyckel måste du när du definierar en modell ange att attributet `pk` ska vara en `CompositePrimaryKey`:

```
from django.db import models

class Release(models.Model):
    pk = models.CompositePrimaryKey("version", "name")
    version = models.IntegerField()
    name = models.CharField(max_length=20)
```

Se [Sammansatta primärnycklar](/sv/6.0/topics/composite-primary-key/) för mer information.

### Förenklad åsidosättning av [`BoundField`](/sv/6.0/ref/forms/api/#django.forms.BoundField)

Prior to version 5.2, overriding [`Field.get_bound_field()`](/sv/6.0/ref/forms/fields/#django.forms.Field.get_bound_field) was the only
option to use a custom [`BoundField`](/sv/6.0/ref/forms/api/#django.forms.BoundField). Django now supports
specifying the following attributes to customize form rendering:

- [`BaseRenderer.bound_field_class`](/sv/6.0/ref/forms/renderers/#django.forms.renderers.BaseRenderer.bound_field_class) på projektnivå,
- [`Form.bound_field_class`](/sv/6.0/ref/forms/api/#django.forms.Form.bound_field_class) på formulärnivå, och
- [`Field.bound_field_class`](/sv/6.0/ref/forms/fields/#django.forms.Field.bound_field_class) på fältnivå.

Till exempel, för att anpassa `BoundField` i en `Form` klass:

```
from django import forms

class CustomBoundField(forms.BoundField):

    custom_class = "custom"

    def css_classes(self, extra_classes=None):
        result = super().css_classes(extra_classes)
        if self.custom_class not in result:
            result += f" {self.custom_class}"
        return result.strip()

class CustomForm(forms.Form):
    bound_field_class = CustomBoundField

    name = forms.CharField(
        label="Your Name",
        max_length=100,
        required=False,
        widget=forms.TextInput(attrs={"class": "name-input-class"}),
    )
    email = forms.EmailField(label="Your Email")
```

Vid rendering av en `CustomForm`-instans inkluderas följande HTML:

```html
<div class="custom">
  <label for="id_name">Your Name:</label>
  <input type="text" name="name" class="name-input-class" maxlength="100" id="id_name">
</div>

<div class="custom">
  <label for="id_email">Your Email:</label>
  <input type="email" name="email" maxlength="320" required="" id="id_email">
</div>
```

Se [Anpassa BoundField](/sv/6.0/ref/forms/api/#custom-boundfield) för mer information om denna funktion.

### Mindre funktioner

#### [`django.contrib.admin`](/sv/6.0/ref/contrib/admin/#module-django.contrib.admin)

- Mallen `admin/base.html` har nu ett nytt block [extrabody](/sv/6.0/ref/contrib/admin/#extrabody) för att lägga till anpassad kod före den avslutande taggen `</body>`.
- Värdet på en [`URLField`](/sv/6.0/ref/models/fields/#django.db.models.URLField) återges nu som en länk.

#### [`django.contrib.admindocs`](/sv/6.0/ref/contrib/admin/admindocs/#module-django.contrib.admindocs)

- Länkar till komponenter i dokumentationssträngar stöder nu anpassad länktext, med formatet ``:role:`link text <link>``. Se [dokumentationshjälpmedel](/sv/6.0/ref/contrib/admin/admindocs/#admindocs-helpers) för mer information.
- [modellsidor](/sv/6.0/ref/contrib/admin/admindocs/#admindocs-model-reference) är nu begränsade till användare med motsvarande visnings- eller ändringsbehörighet.

#### [`django.contrib.auth`](/sv/6.0/topics/auth/#module-django.contrib.auth)

- Standardantalet iterationer för PBKDF2-lösenordshashen ökas från 870.000 till 1.000.000.
- Följande nya asynkrona metoder tillhandahålls nu, med prefixet `a`:

  - [`UserManager.acreate_user()`](/sv/6.0/ref/contrib/auth/#django.contrib.auth.models.UserManager.acreate_user)
  - [`UserManager.acreate_superuser()`](/sv/6.0/ref/contrib/auth/#django.contrib.auth.models.UserManager.acreate_superuser)
  - [`BaseUserManager.aget_by_natural_key()`](/sv/6.0/topics/auth/customizing/#django.contrib.auth.models.BaseUserManager.aget_by_natural_key)
  - [`User.aget_user_permissions()`](/sv/6.0/ref/contrib/auth/#django.contrib.auth.models.User.aget_user_permissions)
  - [`User.aget_all_permissions()`](/sv/6.0/ref/contrib/auth/#django.contrib.auth.models.User.aget_all_permissions)
  - [`User.aget_group_permissions()`](/sv/6.0/ref/contrib/auth/#django.contrib.auth.models.User.aget_group_permissions)
  - [`User.ahas_perm()`](/sv/6.0/ref/contrib/auth/#django.contrib.auth.models.User.ahas_perm)
  - [`User.ahas_perms()`](/sv/6.0/ref/contrib/auth/#django.contrib.auth.models.User.ahas_perms)
  - [`User.ahas_module_perms()`](/sv/6.0/ref/contrib/auth/#django.contrib.auth.models.User.ahas_module_perms)
  - [`ModelBackend.aauthenticate()`](/sv/6.0/ref/contrib/auth/#django.contrib.auth.backends.ModelBackend.aauthenticate)
  - [`ModelBackend.aget_user_permissions()`](/sv/6.0/ref/contrib/auth/#django.contrib.auth.backends.ModelBackend.aget_user_permissions)
  - [`ModelBackend.aget_group_permissions()`](/sv/6.0/ref/contrib/auth/#django.contrib.auth.backends.ModelBackend.aget_group_permissions)
  - [`ModelBackend.aget_all_permissions()`](/sv/6.0/ref/contrib/auth/#django.contrib.auth.backends.ModelBackend.aget_all_permissions)
  - [`ModelBackend.ahas_perm()`](/sv/6.0/ref/contrib/auth/#django.contrib.auth.backends.ModelBackend.ahas_perm)
  - [`ModelBackend.ahas_module_perms()`](/sv/6.0/ref/contrib/auth/#django.contrib.auth.backends.ModelBackend.ahas_module_perms)
  - [`RemoteUserBackend.aauthenticate()`](/sv/6.0/ref/contrib/auth/#django.contrib.auth.backends.RemoteUserBackend.aauthenticate)
  - [`RemoteUserBackend.aconfigure_user()`](/sv/6.0/ref/contrib/auth/#django.contrib.auth.backends.RemoteUserBackend.aconfigure_user)
- Auth-backends kan nu tillhandahålla asynkrona implementationer som används när man anropar asynkrona auth-funktioner (t.ex. [`aauthenticate()`](/sv/6.0/topics/auth/default/#django.contrib.auth.aauthenticate)) för att minska kontextväxling vilket förbättrar prestanda. Se [lägga till ett async-gränssnitt](/sv/6.0/topics/auth/customizing/#writing-authentication-backends-async-interface) för mer information.
- Klasserna [password validator](/sv/6.0/topics/auth/passwords/#included-password-validators) har nu en ny metod `get_error_message()`, som kan åsidosättas i underklasser för att anpassa felmeddelandena.

#### [`django.contrib.gis`](/sv/6.0/ref/contrib/gis/#module-django.contrib.gis)

- GDAL stöder nu kurvgeometrierna `CurvePolygon`, `CompoundCurve`, `CircularString`, `MultiSurface` och `MultiCurve` via den nya egenskapen [`OGRGeometry.has_curve`](/sv/6.0/ref/contrib/gis/gdal/#django.contrib.gis.gdal.OGRGeometry.has_curve) och metoderna [`OGRGeometry.get_linear_geometry()`](/sv/6.0/ref/contrib/gis/gdal/#django.contrib.gis.gdal.OGRGeometry.get_linear_geometry) och [`OGRGeometry.get_curve_geometry()`](/sv/6.0/ref/contrib/gis/gdal/#django.contrib.gis.gdal.OGRGeometry.get_curve_geometry).
- [`coveredby`](/sv/6.0/ref/contrib/gis/geoquerysets/#std-fieldlookup-coveredby) och [`covers`](/sv/6.0/ref/contrib/gis/geoquerysets/#std-fieldlookup-covers) stöds nu av MySQL.

#### [`django.contrib.syndication`](/sv/6.0/ref/contrib/syndication/#module-django.contrib.syndication)

- Alla [`SyndicationFeed`](/sv/6.0/ref/utils/#django.utils.feedgenerator.SyndicationFeed)-klasser stöder nu ett `stylesheets`-attribut. Om det anges kommer en `<? xml-stylesheet ?>` bearbetningsinstruktion att läggas till högst upp i dokumentet för varje stylesheet i den angivna listan. Se [Mata in formatmallar](/sv/6.0/ref/contrib/syndication/#feed-stylesheets) för mer information.

#### Databas backends

- MySQL-anslutningar använder nu som standard teckenuppsättningen `utf8mb4` i stället för `utf8`, som är ett alias för den föråldrade teckenuppsättningen `utf8mb3`.
- Oracle backends stöder nu [connection pools](/sv/6.0/ref/databases/#oracle-pool), genom att ställa in `"pool"` i [`OPTIONS`](/sv/6.0/ref/settings/#std-setting-OPTIONS)-delen av din databaskonfiguration.

#### Dekoratörer

- [`method_decorator()`](/sv/6.0/ref/utils/#django.utils.decorators.method_decorator) stöder nu omslag för asynkrona vymetoder.

#### E-postadress

- Tupelobjekt i [`EmailMessage.attachments`](/sv/6.0/topics/email/#django.core.mail.EmailMessage) och [`EmailMultiAlternatives.attachments`](/sv/6.0/topics/email/#django.core.mail.EmailMultiAlternatives) heter nu tuplar, i motsats till vanliga tuplar.
- [`EmailMultiAlternatives.alternatives`](/sv/6.0/topics/email/#django.core.mail.EmailMultiAlternatives.alternatives) är nu en lista med namngivna tupler, i motsats till vanliga tupler.
- Den nya metoden [`body_contains()`](/sv/6.0/topics/email/#django.core.mail.EmailMultiAlternatives.body_contains) returnerar en boolean som anger om en angiven text ingår i e-postmeddelandets `body` och i alla bifogade MIME-typ `text/*`-alternativ.

#### Felrapportering

- Attributet [`SafeExceptionReporterFilter.hidden_settings`](/sv/6.0/howto/error-reporting/#django.views.debug.SafeExceptionReporterFilter.hidden_settings) behandlar nu värden som känsliga om deras namn innehåller `AUTH`.

#### Formulär

- Den nya formulärwidgeten [`ColorInput`](/sv/6.0/ref/forms/widgets/#django.forms.ColorInput) är till för att ange en färg i hexadecimalt format `rrggbb` och återges som `<input type="color" ...>`. Vissa webbläsare stöder ett visuellt färgväljargränssnitt för den här inmatningstypen.
- Den nya [`SearchInput`](/sv/6.0/ref/forms/widgets/#django.forms.SearchInput)-form widgeten är till för att skriva in sökfrågor och återges som `<input type="search" ...>`.
- Den nya formulärwidgeten [`TelInput`](/sv/6.0/ref/forms/widgets/#django.forms.TelInput) är avsedd för inmatning av telefonnummer och återges som `<input type="tel" ...>`.
- Det nya argumentet `field_id` för [`ErrorList`](/sv/6.0/ref/forms/api/#django.forms.ErrorList) gör att ett HTML-attribut `id` kan läggas till i felmallen. Se [`ErrorList.field_id`](/sv/6.0/ref/forms/api/#django.forms.ErrorList.field_id) för detaljer.
- En [`aria_describedby`](/sv/6.0/ref/forms/api/#django.forms.BoundField.aria_describedby)-egenskap läggs till i `BoundField` för att underlätta användningen av detta HTML-attribut i mallar.
- För att förbättra tillgängligheten för skärmläsaranvändare används `aria-describedby` för att associera formulärfält med deras felmeddelanden. Se [hur formulärfel visas](/sv/6.0/ref/forms/api/#form-error-display) för mer information.
- Det nya tillgångsobjektet [`Script`](/sv/6.0/topics/forms/media/#django.forms.Script) är tillgängligt för att lägga till anpassade HTML-attribut till JavaScript i formulärmedia. Se [paths as objects](/sv/6.0/topics/forms/media/#form-media-asset-objects) för mer information.

#### Kommandon för hantering

- En ny varning visas när du kör [`runserver`](/sv/6.0/ref/django-admin/#django-admin-runserver), vilket indikerar att den är olämplig för produktion. Denna varning kan undertryckas genom att ställa in miljövariabeln [`DJANGO_RUNSERVER_HIDE_WARNING`](/sv/6.0/ref/django-admin/#envvar-DJANGO_RUNSERVER_HIDE_WARNING) till `"true"`.
- Kommandona [`makemigrations`](/sv/6.0/ref/django-admin/#django-admin-makemigrations) och [`migrate`](/sv/6.0/ref/django-admin/#django-admin-migrate) har fått ett nytt attribut `Command.autodetector` som underklasser kan åsidosätta för att använda en anpassad autodetektorklass.
- Den nya metoden [`BaseCommand.get_check_kwargs()`](/sv/6.0/howto/custom-management-commands/#django.core.management.BaseCommand.get_check_kwargs) kan åsidosättas i anpassade kommandon för att styra körningen av systemkontroller, t.ex. för att välja databasberoende kontroller.

#### Migreringar

- Den nya operationen [`AlterConstraint`](/sv/6.0/ref/migration-operations/#django.db.migrations.operations.AlterConstraint) är en no-op-operation som ändrar begränsningar utan att ta bort och återskapa begränsningar i databasen.

#### Modeller

- Klausulen `SELECT` som genereras när man använder [`QuerySet.values()`](/sv/6.0/ref/models/querysets/#django.db.models.query.QuerySet.values) och [`QuerySet.values_list()`](/sv/6.0/ref/models/querysets/#django.db.models.query.QuerySet.values_list) matchar nu den angivna ordningen på de refererade uttrycken. Tidigare baserades ordningen på en uppsättning kontraintuitiva regler som gjorde det oförutsägbart att kombinera frågor med hjälp av metoder som [`QuerySet.union()`](/sv/6.0/ref/models/querysets/#django.db.models.query.QuerySet.union).
- Lagt till stöd för validering av modellbegränsningar som använder en [`GeneratedField`](/sv/6.0/ref/models/fields/#django.db.models.GeneratedField).
- Det nya attributet [`Expression.set_returning`](/sv/6.0/ref/models/expressions/#django.db.models.Expression.set_returning) anger att uttrycket innehåller en set-returning-funktion, vilket tvingar fram utvärdering av underfrågor. Detta är nödvändigt för många av Postgres set-returning-funktioner.
- [`CharField.max_length`](/sv/6.0/ref/models/fields/#django.db.models.CharField.max_length) behöver inte längre anges i SQLite, som stöder obegränsade `VARCHAR`-kolumner.
- [`QuerySet.explain()`](/sv/6.0/ref/models/querysets/#django.db.models.query.QuerySet.explain) stöder nu alternativen \`\` minne\`\` och \`\` serialize\`\` på PostgreSQL 17+.
- Den nya databasfunktionen [`JSONArray`](/sv/6.0/ref/models/database-functions/#django.db.models.functions.JSONArray) accepterar en lista med fältnamn eller uttryck och returnerar en JSON-array som innehåller dessa värden.
- Det nya attributet [`Expression.allows_composite_expressions`](/sv/6.0/ref/models/expressions/#django.db.models.Expression.allows_composite_expressions) anger att uttrycket tillåter sammansatta uttryck, t.ex. för att stödja [sammansatta primärnycklar](/sv/6.0/topics/composite-primary-key/#cpk-and-database-functions).

#### Förfrågningar och svar

- Den nya egenskapen [`HttpResponse.text`](/sv/6.0/ref/request-response/#django.http.HttpResponse.text) ger en strängrepresentation av [`HttpResponse.content`](/sv/6.0/ref/request-response/#django.http.HttpResponse.content).
- Den nya metoden [`HttpRequest.get_preferred_type()`](/sv/6.0/ref/request-response/#django.http.HttpRequest.get_preferred_type) kan användas för att fråga efter den föredragna mediatyp som klienten accepterar.
- Det nya argumentet `preserve_request` för [`HttpResponseRedirect`](/sv/6.0/ref/request-response/#django.http.HttpResponseRedirect) och [`HttpResponsePermanentRedirect`](/sv/6.0/ref/request-response/#django.http.HttpResponsePermanentRedirect) avgör om HTTP-statuskoderna 302/307 respektive 301/308 ska användas.
- Det nya argumentet `preserve_request` för [`redirect()`](/sv/6.0/topics/http/shortcuts/#django.shortcuts.redirect) gör det möjligt att instruera användaragenten att återanvända HTTP-metoden och -kroppen under omdirigering med specifika statuskoder.

#### Serialisering

- Varje serialiseringsformat definierar nu en `Deserializer`-klass, snarare än en funktion, för att förbättra utbyggbarheten när man definierar ett [anpassat serialiseringsformat](/sv/6.0/topics/serialization/#custom-serialization-formats).

#### Mallar

- Den nya [`simple_block_tag()`](/sv/6.0/howto/custom-template-tags/#django.template.Library.simple_block_tag)-dekoratorn gör det möjligt att skapa enkla block-taggar, som kan acceptera och använda ett avsnitt av mallen.

#### Tester

- Stack frames från Djangos anpassade assertions är nu dolda. Detta gör testfel lättare att läsa och gör det möjligt för [`test --pdb`](/sv/6.0/ref/django-admin/#cmdoption-test-pdb) att direkt gå in i den misslyckade testmetoden.
- Data som laddats från [`fixtures`](/sv/6.0/topics/testing/tools/#django.test.TransactionTestCase.fixtures) och från migreringar som aktiverats med [serialized\_rollback=True](/sv/6.0/topics/testing/overview/#test-case-serialized-rollback) är nu tillgängliga under `TransactionTestCase.setUpClass()`.

#### URL:er

- [`reverse()`](/sv/6.0/ref/urlresolvers/#django.urls.reverse) och [`reverse_lazy()`](/sv/6.0/ref/urlresolvers/#django.urls.reverse_lazy) accepterar nu nyckelordsargumenten `query` och `fragment`, vilket gör det möjligt att lägga till en frågesträng och/eller fragmentidentifierare i den genererade URL:en.

#### Verktyg

- [`SafeString`](/sv/6.0/ref/utils/#django.utils.safestring.SafeString) now returns
  [`NotImplemented`](https://docs.python.org/3/library/constants.html#NotImplemented) in `__add__` for non-string right-hand side
  values. This aligns with the [`str`](https://docs.python.org/3/library/stdtypes.html#str) addition behavior and allows
  `__radd__` to be used if available.
- [`format_html_join()`](/sv/6.0/ref/utils/#django.utils.html.format_html_join) stöder nu att ta en iterabel av mappningar och skicka deras innehåll som nyckelordsargument till [`format_html()`](/sv/6.0/ref/utils/#django.utils.html.format_html).

## Bakåtkompatibla ändringar i 5.2

### Databas backend API

I det här avsnittet beskrivs ändringar som kan behövas i tredjeparts databasbackends.

- Den nya metoden [`Model._is_pk_set()`](/sv/6.0/ref/models/instances/#django.db.models.Model._is_pk_set) gör det möjligt att kontrollera om en modellinstans primärnyckel är definierad.
- `BaseDatabaseOperations.adapt_decimalfield_value()` är nu ett no-op, som bara returnerar det angivna värdet.

### [`django.contrib.gis`](/sv/6.0/ref/contrib/gis/#module-django.contrib.gis)

- Stöd för PostGIS 3.0 har tagits bort.
- Stöd för GDAL 3.0 har tagits bort.

### Slopat stöd för PostgreSQL 13

Uppströmsstöd för PostgreSQL 13 slutar i november 2025. Django 5.2 stöder PostgreSQL 14 och högre.

### Ändrad standard för teckenuppsättning för MySQL-anslutning

MySQL-anslutningar använder nu som standard teckenuppsättningen `utf8mb4` istället för `utf8`, som är ett alias för den föråldrade teckenuppsättningen `utf8mb3`. `utf8mb3` kan anges i `OPTIONS`-delen av inställningen `DATABASES`, om det behövs för äldre databaser.

### Diverse

- Att lägga till [`EmailMultiAlternatives.alternatives`](/sv/6.0/topics/email/#django.core.mail.EmailMultiAlternatives.alternatives) stöds nu endast via metoden [`attach_alternative()`](/sv/6.0/topics/email/#django.core.mail.EmailMultiAlternatives.attach_alternative).
- Den lägsta versionen av `gettext` som stöds har höjts från 0.15 till 0.19.
- `HttpRequest.accepted_types` sorteras nu efter klientens preferens, baserat på begäran `Accept` header.
- Attributen [`UniqueConstraint.violation_error_code`](/sv/6.0/ref/models/constraints/#django.db.models.UniqueConstraint.violation_error_code) och [`UniqueConstraint.violation_error_message`](/sv/6.0/ref/models/constraints/#django.db.models.UniqueConstraint.violation_error_message) används nu alltid när de anges. Tidigare ignorerades de om [`UniqueConstraint.fields`](/sv/6.0/ref/models/constraints/#django.db.models.UniqueConstraint.fields) angavs utan [`UniqueConstraint.condition`](/sv/6.0/ref/models/constraints/#django.db.models.UniqueConstraint.condition).
- Kontextprocessorn [`debug()`](/sv/6.0/ref/templates/api/#django.template.context_processors.debug) ingår inte längre i standardmallen för projekt.
- Följande metoder har nu `alters_data=True` inställt för att förhindra sidoeffekter när [rendering av en mallkontext](/sv/6.0/ref/templates/api/#alters-data-description):

  - [`UserManager.create_user()`](/sv/6.0/ref/contrib/auth/#django.contrib.auth.models.UserManager.create_user)
  - [`UserManager.acreate_user()`](/sv/6.0/ref/contrib/auth/#django.contrib.auth.models.UserManager.acreate_user)
  - [`UserManager.create_superuser()`](/sv/6.0/ref/contrib/auth/#django.contrib.auth.models.UserManager.create_superuser)
  - [`UserManager.acreate_superuser()`](/sv/6.0/ref/contrib/auth/#django.contrib.auth.models.UserManager.acreate_superuser)
  - [`QuerySet.create()`](/sv/6.0/ref/models/querysets/#django.db.models.query.QuerySet.create)
  - [`QuerySet.acreate()`](/sv/6.0/ref/models/querysets/#django.db.models.query.QuerySet.acreate)
  - [`QuerySet.bulk_create()`](/sv/6.0/ref/models/querysets/#django.db.models.query.QuerySet.bulk_create)
  - [`QuerySet.abulk_create()`](/sv/6.0/ref/models/querysets/#django.db.models.query.QuerySet.abulk_create)
  - [`QuerySet.get_or_create()`](/sv/6.0/ref/models/querysets/#django.db.models.query.QuerySet.get_or_create)
  - [`QuerySet.aget_or_create()`](/sv/6.0/ref/models/querysets/#django.db.models.query.QuerySet.aget_or_create)
  - [`QuerySet.update_or_create()`](/sv/6.0/ref/models/querysets/#django.db.models.query.QuerySet.update_or_create)
  - [`QuerySet.aupdate_or_create()`](/sv/6.0/ref/models/querysets/#django.db.models.query.QuerySet.aupdate_or_create)
- Den minsta versionen av `oracledb` som stöds har ökats från 1.3.2 till 2.3.0.
- Inbyggda aggregatfunktioner som bara accepterar ett argument (`Avg`, `Count`, `Max`, `Min`, `StdDev`, `Sum` och `Variance`) ger nu upphov till [`TypeError`](https://docs.python.org/3/library/exceptions.html#TypeError) när de anropas med ett felaktigt antal argument.

## Funktioner som inte längre är aktuella i 5.2

### Diverse

- Argumentet `all` för funktionen `django.contrib.staticfiles.finders.find()` är utfasat till förmån för argumentet `find_all`.
- Fallbacks till `request.user` och `request.auser()` när `user` är `None` i `django.contrib.auth.login()` respektive `django.contrib.auth.alogin()` är föråldrade.
- Nyckelordsargumentet `ordering` för de PostgreSQL-specifika aggregeringsfunktionerna `django.contrib.postgres.aggregates.ArrayAgg`, `django.contrib.postgres.aggregates.JSONBAgg` och `django.contrib.postgres.aggregates.StringAgg` är avskrivet till förmån för `order_by`-argumentet.
- Stöd för subklasser av `RemoteUserMiddleware` som åsidosätter `process_request()` utan att åsidosätta `aprocess_request()` är föråldrat.
