---
title: "Nótaí scaoileadh Django 5.0"
version: 6.1
locale: ga
source: https://docs.djangoproject.com/ga/6.1/releases/5.0/
canonical: https://djangodocs.dev/ga/6.1/releases/5.0/
---
# Nótaí scaoileadh Django 5.0

*4 Nollaig, 2023*

Fáilte go dtí Django 5.0!

Clúdaíonn na nótaí scaoilte seo na:ref: gnéithe nua \<whats-new-5.0\>, chomh maith le roinnt athruithe: ref: athruithe neamh-chomhoiriúnacha ar chúl\<backwards-incompatible-5.0\> a mbeidh tú ag iarraidh a bheith ar an eolas fúthu agus tú ag uasghrádú ó Django 4.2 nó níos luaithe. \<deprecated-features-5.0\>We've:ref: thosaigh an próiseas díghabhála do roinnt gnéithe .

Féach an treoir:doc: /howto/upgrade-leagan má tá tionscadal atá ann cheana á nuashonrú agat.

## Comhoiriúnacht Python

Tacaíonn Django 5.0 le Python 3.10, 3.11, agus 3.12. Molaimid\*\* go hard\*\* agus ní thacaímid go hoifigiúil ach leis an scaoileadh is déanaí de gach sraith.

Is é an tsraith Django 4.2.x an ceann deireanach a thacaíonn le Python 3.8 agus 3.9.

## Tacaíocht leabharlainne tríú páirtí le haghaidh leagan níos sine de D

Tar éis Django 5.0 a scaoileadh, molaimid go scaoilfidh údair aip tríú páirtí tacaíocht do gach leagan de Django roimh 4.2. Ag an am sin, ba cheart go mbeadh tú in ann tástálacha do phacáiste a reáchtáil ag baint úsáide as python -Wd\` ionas go mbeidh rabhaidh dífhabhtaithe le feiceáil. Tar éis duit na socruithe rabhaidh díghrádaithe a dhéanamh, ba chóir go mbeadh d'aip comhoiriúnach le Django 5.0.

## Cad atá nua i Django 5.0

### Scagairí facet sa riarachán

Taispeántar comhaireamh gnéithe anois le haghaidh scagairí feidhme sa liosta athraithe riaracháin nuair a dhéantar iad a thosú tríd an gComhéadan Is féidir an t-iompar seo a athrú tríd an tréith nua:attr: .modeladmin.show\_facets. Le haghaidh tuilleadh faisnéise féach:ref: facet-filters.

### Teimpléid shimplithe le haghaidh rindreáil réimse

Tugann Django 5.0 coincheap grúpa allamuigh isteach, agus teimpléid grúpa allamuigh. Déanann sé seo rindreáil na n-eilimintí gaolmhara de réimse foirme Django mar a lipéad, giuirléid, téacs cabhrach agus earráidí a shimpliú.

Mar shampla, an teimpléad thíos:

```html+django
<form>
...
<div>
  {{ form.name.label_tag }}
  {% if form.name.help_text %}
    <div class="helptext" id="{{ form.name.auto_id }}_helptext">
      {{ form.name.help_text|safe }}
    </div>
  {% endif %}
  {{ form.name.errors }}
  {{ form.name }}
  <div class="row">
    <div class="col">
      {{ form.email.label_tag }}
      {% if form.email.help_text %}
        <div class="helptext" id="{{ form.email.auto_id }}_helptext">
          {{ form.email.help_text|safe }}
        </div>
      {% endif %}
      {{ form.email.errors }}
      {{ form.email }}
    </div>
    <div class="col">
      {{ form.password.label_tag }}
      {% if form.password.help_text %}
        <div class="helptext" id="{{ form.password.auto_id }}_helptext">
          {{ form.password.help_text|safe }}
        </div>
      {% endif %}
      {{ form.password.errors }}
      {{ form.password }}
    </div>
  </div>
</div>
...
</form>
```

Is féidir é a shimpliú anois go:

```html+django
<form>
...
<div>
  {{ form.name.as_field_group }}
  <div class="row">
    <div class="col">{{ form.email.as_field_group }}</div>
    <div class="col">{{ form.password.as_field_group }}</div>
  </div>
</div>
...
</form>
```

[`as_field_group()`](/ga/6.1/ref/forms/api/#django.forms.BoundField.as_field_group) renders fields with the
`"django/forms/field.html"` template by default and can be customized on a
per-project, per-field, or per-request basis. See
[Teimpléid grúpa allamuigh](/ga/6.1/topics/forms/#reusable-field-group-templates).

### Luachanna réamhshocraithe ríofa bunachar sonraí

\<django.db.models.Field.db\_default\>Socraíonn an paraiméadar nua:attr: Field.db\_default luach réamhshocraithe ríofa bunachar sonraí. Mar shampla:

```
from django.db import models
from django.db.models.functions import Now, Pi

class MyModel(models.Model):
    age = models.IntegerField(db_default=18)
    created = models.DateTimeField(db_default=Now())
    circumference = models.FloatField(db_default=2 * Pi())
```

### Réimse samhail a ghintear bunachar

Ceadaíonn an nua:class: ~django.db.Models.GeneratedField colúin a ghintear bunachar sonraí a chruthú. Is féidir an réimse seo a úsáid ar gach cúltaca bunachar sonraí tacaithe chun réimse a chruthú a ríomhtar i gcónaí ó réimsí eile. Mar shampla:

```
from django.db import models
from django.db.models import F

class Square(models.Model):
    side = models.IntegerField()
    area = models.GeneratedField(
        expression=F("side") * F("side"),
        output_field=models.BigIntegerField(),
        db_persist=True,
    )
```

### Tuilleadh roghanna chun roghanna allamuigh

[`Field.choices`](/ga/6.1/ref/models/fields/#django.db.models.Field.choices) *(for model fields)* and [`ChoiceField.choices`](/ga/6.1/ref/forms/fields/#django.forms.ChoiceField.choices)
*(for form fields)* allow for more flexibility when declaring their values. In
previous versions of Django, `choices` should either be a list of 2-tuples,
or an [Cineálacha áireamh](/ga/6.1/ref/models/fields/#field-choices-enum-types) subclass, but the latter required
accessing the `.choices` attribute to provide the values in the expected
form:

```
from django.db import models

Medal = models.TextChoices("Medal", "GOLD SILVER BRONZE")

SPORT_CHOICES = [
    ("Martial Arts", [("judo", "Judo"), ("karate", "Karate")]),
    ("Racket", [("badminton", "Badminton"), ("tennis", "Tennis")]),
    ("unknown", "Unknown"),
]

class Winner(models.Model):
    name = models.CharField(...)
    medal = models.CharField(..., choices=Medal.choices)
    sport = models.CharField(..., choices=SPORT_CHOICES)
```

\<field-choices-enum-types\>Cuireann Django 5.0 tacaíocht le glacadh le mapáil nó le glaoch in ionad athraitheach, agus ní éilíonn freisin go n-úsáidfear .choices\` go ndéanfaí úsáid go díreach chun leathnaithe:ref: cineálacha áireamh :

```
from django.db import models

Medal = models.TextChoices("Medal", "GOLD SILVER BRONZE")

SPORT_CHOICES = {  # Using a mapping instead of a list of 2-tuples.
    "Martial Arts": {"judo": "Judo", "karate": "Karate"},
    "Racket": {"badminton": "Badminton", "tennis": "Tennis"},
    "unknown": "Unknown",
}

def get_scores():
    return [(i, str(i)) for i in range(10)]

class Winner(models.Model):
    name = models.CharField(...)
    medal = models.CharField(..., choices=Medal)  # Using `.choices` not required.
    sport = models.CharField(..., choices=SPORT_CHOICES)
    score = models.IntegerField(choices=get_scores)  # A callable is allowed.
```

Faoin gcochall déantar na “roghanna” a sholáthraítear a normalú i liosta de dhá thúpla mar an fhoirm chanónach aon uair a nuashonraítear an luach roghnaí\`. \<field-choices\>Le haghaidh tuilleadh faisnéise, seiceáil le do thoil an:ref: tagairt réimse samhail ar roghanna .

### Mionghnéithe

#### [`django.contrib.admin`](/ga/6.1/ref/contrib/admin/#module-django.contrib.admin)

- Ligeann an modh nua:meth: .adminsite.get\_log\_entries an tacar fiosrúcháin a shaincheapadh d'iontrálacha logála liostaithe an láithreáin.
- Láimhseálann na scagairí riaracháin `django.contrib.admin.allvaluesFieldListFilter`, RelatedFieldListFilter\`, agus `RelatedFieldListFilter`, agus `RelatedOnlyFieldListFilter` paraiméadair fiosrúcháin illuachmhara anois.
- Déantar `XregExp` a uasghrádú ó leagan 3.2.0 go 5.1.1.
- Tugann an modh nua:meth: .adminsite.get\_model\_admin rang riaracháin ar ais don rang samhail ar leith.
- Tacaíonn airíonna in:attr: .modeladmin.list\_display anois le tréith `boolean`.
- tá jQuery uasghrádaithe ó leagan 3.6.4 go 3.7.1.

#### [`django.contrib.auth`](/ga/6.1/topics/auth/#module-django.contrib.auth)

- Méadaítear an líon athraithe réamhshocraithe don hasher pasfhocal PBKDF2 ó 600,000 go 720,000.
- Cuirtear na feidhmeanna asincrónacha nua ar fáil anois, ag baint úsáide as réimír `a`: :func: django.contrib.auth.aautenticate, :func: ~.django.contrib.auth.aget\_user, :func: ~.django.contrib.auth.alogin, :func: ~.django.contrib.contrib.auth.alogin b.auth.alogout\`, agus:func: ~.django.contrib.auth.aupdate\_session\_auth\_hash.
- Cuireann `AuthenticationMiddleWare` anois:meth: .httpRequest.auser modh asincrónach a thugann an t-úsáideoir logáilte isteach faoi láthair ar ais.
- Ligeann an feidhm asincrónach nua:func: django.contrib.auth.hashers.acheck\_password agus: meth: .abstractBaseUser.acheck\_password seiceáil asincrónach pasfhocail úsáideora.

#### [`django.contrib.contenttypes`](/ga/6.1/ref/contrib/contenttypes/#module-django.contrib.contenttypes)

- [`QuerySet.prefetch_related()`](/ga/6.1/ref/models/querysets/#django.db.models.query.QuerySet.prefetch_related) now supports prefetching
  [`GenericForeignKey`](/ga/6.1/ref/contrib/contenttypes/#django.contrib.contenttypes.fields.GenericForeignKey) with
  non-homogeneous set of results.

#### [`django.contrib.gis`](/ga/6.1/ref/contrib/gis/#module-django.contrib.gis)

- Tugann an fheidhm nua:class: closestPoint () \<django.contrib.gis.db.models.functions.ClosestPoint\>\`pointe dhíthoiseach ar an geoiméadracht atá is gaire do ghéimseadracht eile.
- [GIS aggregates](/ga/6.1/ref/contrib/gis/geoquerysets/#gis-aggregation-functions) now support the `filter`
  argument.
- Cuirtear tacaíocht do GDAL 3.7 agus GEOS 3.12 leis.
- Ligeann an modh nua:meth: .geosgeometry.equals\_identical seiceáil coibhéasachta pointe ciallmhar geoiméadracha.

#### [`django.contrib.messages`](/ga/6.1/ref/contrib/messages/#module-django.contrib.messages)

- \<django.http.HttpResponse\>Ligeann an modh dearbhaithe nua:meth: .messagestestMixin.assertMessages tástáil: mod: ~django.contrib.messages curtha le a:class: response .

#### [`django.contrib.postgres`](/ga/6.1/ref/contrib/postgres/#module-django.contrib.postgres)

- \<validating-objects\>Ceadaíonn an tréith nua:attr: ~.EXCLUSIONCONSTRAINT.VIOLATION\_ERROR\_CODE de:class: ~django.contrib.postgres.restricints.ExclusionConstraint an cód \`\`de \`ValidationError\` a ardaíodh trí:ref: bailíochtú samhail a shaincheapadh.

#### Tuairimí asincrónacha

- Faoi ASGI, déantar imeachtaí http.disconnect\` a láimhseáil anois. Ligeann sé seo tuairimí aon ghlanadh riachtanach a dhéanamh má dhícheanglaíonn cliant sula ngintear an freagra. Féach: ref: async-handling-disconnect le haghaidh tuilleadh sonraí.

#### Maisitheoirí

- Tacaíonn na maisitheoirí seo a leanas anois le feidhmeanna amhairc asincrónacha fillte:

  - [`cache_control()`](/ga/6.1/topics/http/decorators/#django.views.decorators.cache.cache_control)
  - [`never_cache()`](/ga/6.1/topics/http/decorators/#django.views.decorators.cache.never_cache)
  - [`no_append_slash()`](/ga/6.1/topics/http/decorators/#django.views.decorators.common.no_append_slash)
  - [`csrf_exempt()`](/ga/6.1/ref/csrf/#django.views.decorators.csrf.csrf_exempt)
  - [`csrf_protect()`](/ga/6.1/ref/csrf/#django.views.decorators.csrf.csrf_protect)
  - [`ensure_csrf_cookie()`](/ga/6.1/ref/csrf/#django.views.decorators.csrf.ensure_csrf_cookie)
  - [`requires_csrf_token()`](/ga/6.1/ref/csrf/#django.views.decorators.csrf.requires_csrf_token)
  - [`sensitive_variables()`](/ga/6.1/howto/error-reporting/#django.views.decorators.debug.sensitive_variables)
  - [`sensitive_post_parameters()`](/ga/6.1/howto/error-reporting/#django.views.decorators.debug.sensitive_post_parameters)
  - [`gzip_page()`](/ga/6.1/topics/http/decorators/#django.views.decorators.gzip.gzip_page)
  - [`condition()`](/ga/6.1/topics/http/decorators/#django.views.decorators.http.condition)
  - leathanach\_coinníollacha () \`\`
  - [`etag()`](/ga/6.1/topics/http/decorators/#django.views.decorators.http.etag)
  - [`last_modified()`](/ga/6.1/topics/http/decorators/#django.views.decorators.http.last_modified)
  - [`require_http_methods()`](/ga/6.1/topics/http/decorators/#django.views.decorators.http.require_http_methods)
  - [`require_GET()`](/ga/6.1/topics/http/decorators/#django.views.decorators.http.require_GET)
  - [`require_POST()`](/ga/6.1/topics/http/decorators/#django.views.decorators.http.require_POST)
  - [`require_safe()`](/ga/6.1/topics/http/decorators/#django.views.decorators.http.require_safe)
  - [`vary_on_cookie()`](/ga/6.1/topics/http/decorators/#django.views.decorators.vary.vary_on_cookie)
  - [`vary_on_headers()`](/ga/6.1/topics/http/decorators/#django.views.decorators.vary.vary_on_headers)
  - xframe\_options\_deny () \`\`
  - xframe\_options\_sameorigin () \`\`
  - xframe\_options\_díolmhaithe () \`\`

#### Tuairisc Earráide

- [`sensitive_variables()`](/ga/6.1/howto/error-reporting/#django.views.decorators.debug.sensitive_variables) and
  [`sensitive_post_parameters()`](/ga/6.1/howto/error-reporting/#django.views.decorators.debug.sensitive_post_parameters) can now be
  used with asynchronous functions.

#### Stóráil Comhad

- [`File.open()`](/ga/6.1/ref/files/file/#django.core.files.File.open) now passes all positional (`*args`) and keyword
  arguments (`**kwargs`) to Python's built-in [`open()`](https://docs.python.org/3/library/functions.html#open).

#### Foirmeacha

- Ceadaíonn an argóint nua:attr: ~django.forms.urlfield.assume\_scheme do:class: ~django.forms.urlfield scéim réamhshocraithe URL a shonrú.
- D'fhonn inrochtaineacht a fheabhsú, déantar na hathruithe seo a leanas:

  - Cuimsíonn réimsí foirme an tréith HTML `aria-describedby` anois chun a chumas léitheoirí scáileáin réimsí foirme a cheangal lena dtéacs cabhrach.
  - Cuimsíonn réimsí foirme neamhbhailí an tréith HTML `aria-invalid="true"` anois.

#### Idirnáisiúnú

- Tá tacaíocht agus aistriúcháin don teanga Uighur ar fáil anois.

#### Imirce

- Tacaítear anois le sraith feidhmeanna maisithe le: func: functools.cache nó: func: functools.lru\_cache gan gá le serializer saincheaptha a scríobh.

#### Samhla

- Ceadaíonn an argóint nua `create_defaults` de:meth: .queryset.update\_or\_create agus:meth: .queryset.AUPDate\_or\_create luachanna réimse difriúla a shonrú don oibríocht chruthaigh.
- \<validating-objects\>Ceadaíonn an tréith nua `violation_error_code` de:class: ~django.db.models.baseConstraint, :class: ~django.db.models.checkConstraint, agus:class: ~Django.db.Models.UniqueConstraint an code\` de ValidationError\` a shaincheapadh le linn: ref: bailíochtú samhail .
- Ceadaíonn an argóint:ref: force\_insert \<ref-models-force-insert\>\`de:meth: \`.model.save anois tiúpla d'aicmí tuismitheoirí a shonrú ar chaithfear iallach a chur isteach.
- [`QuerySet.bulk_create()`](/ga/6.1/ref/models/querysets/#django.db.models.query.QuerySet.bulk_create) and [`QuerySet.abulk_create()`](/ga/6.1/ref/models/querysets/#django.db.models.query.QuerySet.abulk_create) methods now
  set the primary key on each model instance when the `update_conflicts`
  parameter is enabled (if the database supports it).
- Ligeann an tréith nua:attr: .UniqueConstraint.NULLS\_Distinct cóireáil luachanna `NULL` a shaincheapadh ar PostgreSQL 15+.
- Ceadaíonn an nua:func: ~django.shortcuts.aget\_object\_or\_404 agus:func: ~django.shortcuts.aget\_list\_or\_404 aicearraí asyncrónach rudaí a fháil asincrónach.
- Ligeann an fheidhm nua:func: ~django.db.models.aprefetch\_related\_objects réamhfhaighdeach asincrónach cásanna samhail.
- [`QuerySet.aiterator()`](/ga/6.1/ref/models/querysets/#django.db.models.query.QuerySet.aiterator) now supports previous calls to
  `prefetch_related()`.
- Ar MariaDB 10.7+, cruthaítear `UUIDField` anois mar cholún `UUID` seachas colún CHAR (32) . Féach an treoir imirce thuas le haghaidh tuilleadh sonraí ar:ref: migrating-uuidfield.
- Tacaíonn Django anois le leagan [oracledb](https://oracle.github.io/python-oracledb/) 1.3.2 nó níos airde. Tá tacaíocht do CX\_Oracle\` díluaite amhail an scaoileadh seo agus bainfear é i Django 6.0.

#### Leathanaigh

- Ligeann an argóint nua:attr: django.core.paginator.paginator.error\_messages na teachtaireachtaí earráide arna ardú arga:meth: .paginator.page a shaincheapadh.

#### Comharthaí

- Ceadaíonn na modhanna nua:meth: .signal.asend agus:meth: .signal.asend\_robust seoladh comhartha asincrónach. D'fhéadfadh glacadóirí comhartha a bheith sioncrónach nó asincrónach, agus cuirfear iad in oiriúint go huathoibríoch don stíl ghlaonna ceart.

#### Teimpléid

- Baineann an scagaire teimpléad nua:tfilter: escapeseq: tfilter: escape le gach eilimint de sheicheamh.

#### Tástálacha

- [`Client`](/ga/6.1/topics/testing/tools/#django.test.Client) and [`AsyncClient`](/ga/6.1/topics/testing/tools/#django.test.AsyncClient) now
  provide asynchronous methods, using an `a` prefix:
  [`asession()`](/ga/6.1/topics/testing/tools/#django.test.Client.asession), [`alogin()`](/ga/6.1/topics/testing/tools/#django.test.Client.alogin),
  [`aforce_login()`](/ga/6.1/topics/testing/tools/#django.test.Client.aforce_login), and
  [`alogout()`](/ga/6.1/topics/testing/tools/#django.test.Client.alogout).
- [`AsyncClient`](/ga/6.1/topics/testing/tools/#django.test.AsyncClient) now supports the `follow` parameter.
- [`DiscoverRunner`](/ga/6.1/topics/testing/advanced/#django.test.runner.DiscoverRunner) now allows showing the duration
  of the slowest tests using the [`test --durations`](/ga/6.1/ref/django-admin/#cmdoption-test-durations) option (available
  on Python 3.12+).

#### Bailíochtóirí

- Ligeann an argóint nua `offset` de:class: ~django.core.validators.stepvalueValidator fhritháireamh a shonrú do luachanna bailí.

## Athruithe neamh-chomhoiriúnacha ar ais i 5.0

### API cúltaca bunachar sonraí

Déanann an rannán seo cur síos ar athruithe a d’fhéadfadh a bheith ag teastáil ar dhroim bhunachar sonraí tríú páirtí.

- Ba chóir `DatabaseFeatures.supports_expression_defaults` a shocrú go `False` mura dtacaíonn an bunachar sonraí le feidhmeanna bunachar sonraí a úsáid mar réamhshocraithe.
- Ba chóir `databaseFeatures.supports_default_keyword_in_insert` a shocrú go `False` mura dtacaíonn an bunachar sonraí leis an eochairfhocal `DEFAULT` i gceisteanna `INSERT`.
- Ba chóir `databaseFeatures.supports_default_keyword_in_bulk_insert` a shocrú go `False` mura dtacaíonn an bunachar sonraí leis an eochairfhocal `DEFAULT` i mórcheisteanna `INSERT`.

### [`django.contrib.gis`](/ga/6.1/ref/contrib/gis/#module-django.contrib.gis)

- Baintear tacaíocht do GDAL 2.2 agus 2.3.
- Baintear tacaíocht do GEOS 3.6 agus 3.7.

### [`django.contrib.sitemaps`](/ga/6.1/ref/contrib/sitemaps/#module-django.contrib.sitemaps)

- Baintear an fheidhm ```django.contrib.sitemaps.ping_google () ``agus an t-ordú bainistíochta `ping_google``` de réir mar a dhéantar críochphointe ping Google Sitemaps as dul in iúl agus bainfear é i mí Eanáir 2024.
- Baintear an rang eisceachta `Django.Contrib.SiteMaps.SiteMapNotFound`.

### Tacaíocht titim do MySQL \< 8.0.11

Baintear tacaíocht do réamh-eisiúintí de shraith MySQL 8.0.x. Tacaíonn Django 5.0 le MySQL 8.0.11 agus níos airde.

### D'fhéadfadh go mbeadh gá anois ag baint úsáide as `create_defaults__exact` le QuerySet.Update\_or\_create () \`\`

[`QuerySet.update_or_create()`](/ga/6.1/ref/models/querysets/#django.db.models.query.QuerySet.update_or_create) now supports the parameter
`create_defaults`. As a consequence, any models that have a field named
`create_defaults` that are used with an `update_or_create()` should specify
the field in the lookup with `create_defaults__exact`.

### Ag aistriú `UUIDField` atá ann cheana ar MariaDB 10.7+

Ar MariaDB 10.7+, cruthaítear `UUIDField` anois mar cholún `UUID` seachas colún ```CHAR (32) ``. Mar thoradh air sin, ba cheart fo-aicme ``UUidField``` a thacaíonn ```CHAR (32) ``a chur in ionad aon ``UUIDField``` a cruthaíodh i Django \< 5.0:

```
class Char32UUIDField(models.UUIDField):
    def db_type(self, connection):
        return "char(32)"

    def get_db_prep_value(self, value, connection, prepared=False):
        value = super().get_db_prep_value(value, connection, prepared)
        if value is not None:
            value = value.hex
        return value
```

Mar shampla:

```
class MyModel(models.Model):
    uuid = models.UUIDField(primary_key=True, default=uuid.uuid4)
```

Ba chóir go mbeadh:

```
class Char32UUIDField(models.UUIDField): ...

class MyModel(models.Model):
    uuid = Char32UUIDField(primary_key=True, default=uuid.uuid4)
```

Ag rith an t-ordú:djadmin: makemigrations ginfidh imirce ina bhfuil oibríocht Alterfield\` gan op.

### Ilghnéitheach

- Athainmnítear argóint `instance` an modh ```BaseModelFormSet.save_Existing () ``neamhdhoiciméadaithe go ``obj```.
- Baintear an `django.contrib.admin.helpers.checkbox` neamhdhoiciméadaithe.
- Déantar réimsí sláimhir a bhailíochtú anois mar shláimhreacha 64-giotán ar SQLite chun iompar sqlite3\` a mheaitseáil.
- Athraítear an tréith `Query.annotation_Select_Mask` neamhdhoiciméadaithe ó shraith teaghráin go liosta ordaithe teaghráin.
- Ní ghlaofar ```imagefield.update_dimension_fields () ``ar an gcomhartha ``post_init``` a thuilleadh mura socraítear `width_field` agus `height_field`.
- [`Now`](/ga/6.1/ref/models/database-functions/#django.db.models.functions.Now) database function now uses
  `LOCALTIMESTAMP` instead of `CURRENT_TIMESTAMP` on Oracle.
- \<div\>\<h1\>:attr: .adminsite.site\_header a rindreáiltear anois i gclib \`\` in ionad . Tá úsáideoirí léitheoirí scáileáin ag brath ar eilimintí ceannteidil le haghaidh nasclean Bhí dhá ghné \<h1\>\`\`\`a bheith mearbhall agus ní raibh ceanntásc an láithreáin cabhrach mar go ndéantar é a athdhéanamh ar gach leathanach.
- \<div\>D'fhonn inrochtaineacht a fheabhsú, déantar príomhlimistéar ábhair an riaracháin agus limistéar ábhar ceanntásc a léiriú anois i gclib \<main\>\`\`\`\` agus \`\` \<header\>\`\`in ionad\`\` .
- Ar bhunachair sonraí gan tacaíocht dhúchasach don oibreoir SQL `XOR`, filleann `^` mar oibreoir eisiach nó (`XOR`) sraitheanna anois atá comhoiriúnaithe le líon aisteach oibrithe seachas oibrand amháin go díreach. Tá sé seo ag teacht le hiompar MySQL, MariaDB, agus Python.
- Méadaítear an leagan íosta tacaithe de asgiref\` ó 3.6.0 go 3.7.0.
- Méadaítear an leagan íosta tacaithe de selenium\` ó 3.8.0 go 4.8.0.
- Aistrítear na heisceachtaí `AlreadyRegistered` agus Notregistered\` ó `django.contrib.admin.sites` go django.contrib.admin.exceptions\`.
- Méadaítear an leagan íosta tacaithe de SQLite ó 3.21.0 go 3.27.0.
- Baintear tacaíocht do CX\_Oracle \< 8.3.
- Ardaíonn sé anois ceisteanna SQL a fhorghníomhú sula ndéantar clárlann na n-aipeanna daonra go hiomlán anois:exc: RuntimeWarning.
- : exc: Ardaítear ~django.core.exceptions.badRequest le haghaidh iarratais ionchódaithe neamh-UTF-8 leis an gcineál ábhair: mimetype: application/x-www-form-urlencoded. Féach: RFC: 1866 le haghaidh tuilleadh sonraí.
- Méadaítear an leagan íosta tacaithe de “colorama” go 0.4.6.
- Méadaítear an leagan íosta tacaithe de docutils go 0.19.
- Tugann scagadh ceisteanna i gcoinne luachanna sláimhriúla atá ró-shlán anois tacar ceisteanna folamh i gcónaí. \<using-f-with-annotations\>Mar thoradh air sin, b'fhéidir go mbeidh ort ExpressionWrapper () a úsáid to:ref: uimhríocht a fhilleadh go sainráite i gcoinne réimsí sláireach i gcásanna den sórt sin.

## Gnéithe atá díscríofa i 5.0

### Ilghnéitheach

- Tá na léiritheoirí foirme idirthréimhseacha `DjangoDivFormRenderer` agus `Jinja2DivFormRenderer` a dhíchur.
- Tá argóintí seasaimh `name` agus `violation_error_message` a chur chuig:class: ~django.db.models.baseConstraint i bhfabhar argóintí eochairfhocal amháin.
- Cuirtear `request` leis an síniú de:meth: .modeladmin.lookup\_allowed. Tá tacaíocht do fho-aicmí `ModelAdmin` nach nglacann leis an argóint seo caite.
- Tá an modh ```get_joining_columns () ``de `ForeignObject``` agus `ForeignObjectRel` a dhíchur. Ag tosú le Django 6.0, ní thiocfaidh `Django.db.Models.sql.DataStructures.join` ar ais chuig get\_joining\_columns () a thuilleadh. Ba chóir go gcuirfeadh fo-ranganna get\_joining\_fields () a chur i bhfeidhm ina ionad.
- Tá an modh ForeignObject.get\_Reverse\_Joining\_Columns () a dhíchur.
- The default scheme for `forms.URLField` will change from `"http"` to
  `"https"` in Django 6.0. Set `FORMS_URLFIELD_ASSUME_HTTPS` transitional
  setting to `True` to opt into assuming `"https"` during the Django 5.x
  release cycle.
- `FORMS_URLFIELD_ASSUME_HTTPS` tá an socrú idirthréimhseach a dhíchur.
- Tá an tacaíocht chun glaoch ar format\_html () gan args nó kwargs a rith a chur as.
- Tá tacaíocht do CX\_Oracle\` a dhíchur i bhfabhar tiománaí Python [oracledb](https://oracle.github.io/python-oracledb/) 1.3.2+.
- Táthar ag moladh `DatabaseOperations.field_cast_sql()` i bhfabhar `DatabaseOperations.lookup_cast()`. Ag tosú le Django 6.0, ní thabharfar `field_cast_sql()` ar `BuiltinLookup.process_lhs()` a thuilleadh. Ba cheart go gcuirfí `lookup_cast()` i bhfeidhm ina ionad sin d'innill bhunachar sonraí tríú páirtí.
- Athainmnítear an metaclass `Django.db.Models.Enums.ChoiceSmeta` go `ChoiceStype`.
- Tá an modh Prefetch.get\_current\_querySet () díluachtaithe.
- Tá an modh ```get_prefetch_queryset () ``bainisteoirí agus tuairiscí gaolmhara a dhíchur. Ag tosú le Django 6.0, ní thiocfaidh ``get_prefetcher () ``agus ``prefetch_related_objects ()``` ar ais chuig get\_prefetch\_queryset () a thuilleadh. Ba chóir go gcuirfeadh fo-ranganna get\_prefetch\_querysets () a chur i bhfeidhm ina ionad.

## Gnéithe bainte i 5.0

Tá na gnéithe seo tar éis deireadh a dtimthriall díscrúdaithe bainte amach agus baintear iad i Django 5.0.

Féach: Ref: deprecated-features-4.0 le haghaidh sonraí faoi na hathruithe seo, lena n-áirítear conas úsáid na ngnéithe seo a bhaint.

- Baintear an socrú tástála `SERIALIZE`.
- Baintear an modúl `django.utils.baseconv` neamhdhoiciméadaithe.
- Baintear an modúl `django.utils.datetime_safe` neamhdhoiciméadaithe.
- Athraítear luach réamhshocraithe an socrú `USE_TZ` ó `False` go `True`.
- Athraítear an prótacal réamhshocraithe léarscáileanna láithreáin do léarscáileanna láithreáin a tógadh lasmuigh de chomhthéacs iarratais ó `'http'` go `https'`.
- Baintear an argóint `extra_tests` do DiscoverRunner.build\_suite () \`\`agus \`\`DiscoverRunner.run\_tests ()\`.
- Ní fhilleann na comhiomlánacha `Django.Contrib.Postgres.Aggregates.Arrayagg`, `Jsonbagg`, agus `Stringagg` a thuilleadh `[]`, `[]`, agus `` ` ``, faoi seach, nuair nach bhfuil aon sraitheanna ann.
- Baintear an socrú `USE_L10N`.
- Baintear an socrú idirthréimhseach `USE_DEPRECATED_PYTZ`.
- Baintear tacaíocht do chóin ama `pytz`.
- Baintear an argóint `is_dst` as:

  - QuerySet.DateTimes () \`\`
  - django.utils.timezone.make\_aware () \`\`
  - Django.db.Models.Functions.trunc () \`\`
  - Django.db.Models.Functions.TruncSecond () \`\`
  - Django.db.Models.Functions.TruncMinute () \`\`
  - Django.db.Models.Functions.Trunchour () \`\`
  - Django.db.Models.Functions.TruncDay () \`\`
  - Django.db.Models.Functions.TruncWeek () \`\`
  - Django.db.Models.Functions.TruncMonth () \`\`
  - Django.db.Models.Functions.TruncQuarter () \`\`
  - Django.db.Models.Functions.TruncYear () \`\`
- Baintear na ranganna `Django.contrib.gis.admin.geomodelAdmin` agus `OsmGeoAdmin`.
- An Basfhoirm neamh-dhoiciméadaithe. Baintear an modh \_html\_output () .
- Baintear an cumas `str` a thabhairt ar ais, seachas `SafeString`, nuair a dhéantar `ErrorDict` agus `Liosta Error` a rindreáil.

Féach: Ref: deprecated-features-4.1 le haghaidh sonraí faoi na hathruithe seo, lena n-áirítear conas úsáid na ngnéithe seo a bhaint.

- An SitemapIndexItem. Baintear modh \_\_str\_\_ () .
- Baintear an suíomh idirthréimhseach `CSRF_COOKIE_MASKED`.
- Baintear an argóint ```ainm ``de `django.utils.functional.cached_property ()```.
- Baintear an argóint opclasses\` de Django.contrib.postgres.Constraints.ExclusionConstraint\`.
- Baintear an cumas neamhdhoiciméadaithe chun `Errors=None` a chur chuig ```SimpleTestCase.AssertFormError () ``agus ``AssertFormSetError ()```.
- Baintear `Django.contrib.sessions.serializers.pickleserializer`.
- Ní cheadaítear úsáid ```QuerySet.iterator () ``ar thacar cheisteanna a thuilleann rudaí gaolmhara gan an argóint ``chunk_size``` a sholáthar a thuilleadh.
- Ní cheadaítear cásanna samhaltaithe gan sábháil a chur ar aghaidh chuig na scagairí gaolmhara a thuilleadh.
- Tá `created=True` ag teastáil i síniú fo-aicmí RemoteUserBackend.configure\_user () .
- Baintear tacaíocht le logáil amach trí iarratais `GET` sna django.contrib.auth.views.logoutview\` agus django.contrib.auth.views.logout\_then\_login () .
- Baintear an ailias `django.utils.timezone.utc` chuig datetime.timezone.utc\`.
- Ní cheadaítear réad freagartha agus ainm foirme/foirmeacha a chur chuig ```simpletestCase.assertFormError () ``agus ``AssertFormSetError ()``` a thuilleadh.
- Baintear an `Django.contrib.gis.admin.openlayerswidget`.

- Baintear an `Django.contrib.auth.hashers.cryptPasswordHasher`.

- Baintear na teimpléid `” django/forms/default.html “` agus `” django/forms/formsets/default.html “`.
- Athraítear an fhoirm réamhshocraithe agus an stíl rindreála foirmeacha go dtí an div-bhunaithe.
- Ag dul chun modhanna `Nulls_first=False` nó `Nulls_last=False` go Expression.asc () \`\`agus \`\`Expression.desc ()\`, agus ní cheadaítear an abairt `OrderBy` a thuilleadh.
