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

*Aibreán 6, 2021*

Fáilte go dtí Django 3.2!

Clúdaíonn na nótaí scaoilte seo na:ref: gnéithe nua \<whats-new-3.2\>, chomh maith le roinnt athruithe: ref: athruithe neamh-chomhoiriúnacha ar chúl\<backwards-incompatible-3.2\> a mbeidh tú ag iarraidh a bheith ar an eolas fúthu agus tú ag uasghrádú ó Django 3.1 nó níos luaithe. \<deprecated-features-3.2\>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.

\<Long-term support release\>Ainmnítear Django 3.2 mar a: téarma: scaoileadh tacaíochta fadtéarmach . Gheobhaidh sé nuashonruithe slándála ar feadh trí bliana ar a laghad tar éis a scaoilte Tiocfaidh deireadh le tacaíocht don LTS roimhe seo, Django 2.2, i mí Aibreáin 2022.

## Comhoiriúnacht Python

Tacaíonn Django 3.2 le Python 3.6, 3.7, 3.8, 3.9, agus 3.10 (amhail 3.2.9). Molaimid\*\* go hard\*\* agus ní thacaímid go hoifigiúil ach leis an scaoileadh is déanaí de gach sraith.

## Cad atá nua i Django 3.2

### Uathoibríoch: aicme: ~django.apps.appconfig fionnachtain

Sainmhíníonn an chuid is mó de na feidhmchláir in-phlugáilte fo-aicme: ~django.apps.appconfig i bhfo-mhodúl `apps.py`. Sainmhíníonn go leor athróg `default_app_config` ag díriú ar an rang seo ina `__init__.py`.

Nuair a bhíonn an fo-mhodúl apps.py\` ann agus go sainmhíníonn fo-aicme aonair: class: ~django.apps.appconfig, úsáideann Django anois an chumraíocht sin go huathoibríoch, ionas gur féidir leat default\_app\_config\` a bhaint.

D'fhág default\_app\_config\` ní féidir ach cosán an fheidhmchláir a dhearbhú in:setting: INSTALLED\_APPS (m.sh. django.contrib.admin') seachas cosán cumraíochta an aip (m.sh. \`\`Django.contrib.admin.apps.adminconfig'). Tugadh isteach é le haghaidh comhoiriúnacht cúil leis an iar-stíl, agus é mar intinn an t-éiceachóras a aistriú go dtí an dara ceann, ach níor tharla an lasc.

Le fionnachtain uathoibríoch `AppConfig`, ní theastaíonn `default_app_config` a thuilleadh. Mar thoradh air sin, tá sé imithe.

Féach: ref: configuring-applications-ref le haghaidh sonraí iomlána.

### Cineál eochracha bunscoile a chruthaíodh uathoibr

\<django.db.models.Field.primary\_key\>Nuair a shainmhínítear samhail, mura sainmhínítear aon réimse i msamhail le:attr: primary\_key=true \`cuirtear eochair bunscoile intuigthe leis. \<django.apps.AppConfig.default\_auto\_field\>Is féidir an cineál eochair bhunscoile intuigthe seo a rialú anois tríd an socrú: setting: \`DEFAULT\_AUTO\_FIELD agus:attr: AppConfig.DEFault\_AUTO\_FIELD tréith. Níl gá níos mó eochracha bunscoile a shárú i ngach samhail.

Ag coinneáil an t-iompar stairiúil, is é an luach réamhshocraithe le haghaidh: socrú: DEFAULT\_AUTO\_FIELD: class: ~django.db.models.autofield. Ag tosú le 3.2 tionscadal nua a ghintear le:setting: DEFAULT\_AUTO\_FIELD atá socraithe to:class: ~DJANGO.DB.Models.BIGAUTOFIELD. \<django.apps.AppConfig.default\_auto\_field\>Chomh maith leis sin, gintear aipeanna nua le: attr: AppConfig.default\_auto\_field \`socraithe to:class: \`~django.db.models.bigautofield. Sa todhchaí a scaoileadh Django athrófar an luach réamhshocraithe de:setting: DEFAULT\_AUTO\_FIELD go dt:class: ~DJANGO.DB.Models.BIGAUTOFIELD.

Chun imirce nach dteastaíonn a sheachaint sa todhchaí, socraigh go sainráite:setting: DEFAULT\_AUTO\_FIELD to:class: ~django.db.models.autofield:

```
DEFAULT_AUTO_FIELD = "django.db.models.AutoField"
```

nó é a chumrú ar bhonn in aghaidh an aip:

```
from django.apps import AppConfig

class MyAppConfig(AppConfig):
    default_auto_field = "django.db.models.AutoField"
    name = "my_app"
```

nó ar bhonn in aghaidh an tsamhail:

```
from django.db import models

class MyModel(models.Model):
    id = models.AutoField(primary_key=True)
```

Le súil leis an réamhshocrú atá ag athrú, cuirfidh seiceáil chórais rabhadh ar fáil mura bhfuil socrú follasach agat le haghaidh: setting: DEFAULT\_AUTO\_FIELD.

Nuair a athraítear luach de:setting: DEFAULT\_AUTO\_FIELD, ní féidir imirce don phríomh-eochair an uathoibríoch atá cruthaithe ann cheana trí tháblaí a ghiniúint faoi láthair. Féach na:setting: DEFAULT\_AUTO\_FIELD docs le haghaidh sonraí maidir le táblaí den sórt sin a imirce.

### Innéacsanna feidhmiúla

Cuireann an argóint seasaimh nua:attr: \*expressions \<django.db.models.Index.expressions\>\`de:class: \`Index ()\<django.db.models.Index\> ar chumas innéacsanna feidhmiúla a chruthú ar nathanna agus ar fheidhmeanna bunachar sonraí. Mar shampla:

```
from django.db import models
from django.db.models import F, Index, Value
from django.db.models.functions import Lower, Upper

class MyModel(models.Model):
    first_name = models.CharField(max_length=255)
    last_name = models.CharField(max_length=255)
    height = models.IntegerField()
    weight = models.IntegerField()

    class Meta:
        indexes = [
            Index(
                Lower("first_name"),
                Upper("last_name").desc(),
                name="first_last_name_idx",
            ),
            Index(
                F("height") / (F("weight") + Value(5)),
                name="calc_idx",
            ),
        ]
```

\<django.db.models.Options.indexes\>Cuirtear innéacsanna feidhmiúla le samhlacha ag baint úsáide as an rogha: attr: Meta.Indexes .

### Tacaíocht `pymemcache`

Ligeann an cúltaca taisce nua `django.core.cache.backends.memcached.pymemcacheCache` leabharlanna:pypi: pymemcache a úsáid le haghaidh memcached. Teastaíonn `pymemcache` 3.4.0 nó níos airde. Le haghaidh tuilleadh sonraí, féach an:doc: doiciméadú maidir le caching in Django \</topics/cache\>.

### Maisitheoirí nua don suíomh riaracháin

Ceadaíonn an maisitheoir nua:func: ~django.contrib.admin.display roghanna a chur go héasca le feidhmeanna taispeána saincheaptha is féidir a úsáid le:attr: ~django.contrib.admin.modeladmin.list\_display nó: attr: ~django.contrib.admin.modeladmin.readonly\_fields.

Mar an gcéanna, ceadaíonn an maisitheoir nua:func: ~django.contrib.admin.action roghanna a chur go héasca le feidhmeanna gníomhaíochta is féidir a úsáid le:attr: ~django.contrib.admin.modeladmin.actions.

Tá an buntáiste ag baint úsáide as an maisitheoir `@display` gur féidir anois an maisitheoir `@property` a úsáid nuair is gá duit tréithe a shonrú ar an modh saincheaptha. Roimhe seo bhí sé riachtanach an fheidhm property () a úsáid ina ionad sin tar éis na tréithe riachtanacha a shannadh don mhodh.

Tá an buntáiste ag baint le maisitheoirí a úsáid go bhfuil na roghanna seo níos infhaighte mar is féidir iad a mholadh trí fhóntais chríochnaithe in eagarthóirí cód. Níl siad ach áisiúlacht agus socraíonn siad na tréithe céanna fós ar na feidhmeanna faoin gcochall.

### Mionghnéithe

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

- [`ModelAdmin.search_fields`](/ga/6.1/ref/contrib/admin/#django.contrib.admin.ModelAdmin.search_fields) now allows searching against quoted phrases
  with spaces.
- Déantar réimsí a bhaineann le léamh amháin a rinneadh anois mar naisc innasctha má tá spriocmhúnlaí cláraithe sa riarachán.
- Tacaíonn an riarachán anois le téama, agus tá téama dorcha ann atá cumasaithe de réir socruithe brabhsálaí. Féach:ref: admin-theming le haghaidh tuilleadh sonraí.
- \<django.db.models.ForeignKey.to\_field\>\<django.db.models.ForeignKey.limit\_choices\_to\>:attr: .ModelAdmin.AutoComplete\_Fields meas anois:attr: ForeignKey.to\_Field \`agus:attr: \`ForeignKey.LIMIT\_CHOICES\_TO agus tú ag cuardach samhail ghaolmhar.
- Suiteálann an riarachán radharc deiridh catch-all anois a atreoraíonn úsáideoirí neamhfhíordheimhnithe chuig an leathanach logála isteach, is cuma an bhfuil an URL bailí ar shlí eile. Cosnaíonn sé seo i gcoinne saincheist phríobháideachta féideartha líonta samhail.

  Cé nach moltar, féadfaidh tú an nua:attr: .adminsite.final\_catch\_all\_view a shocrú go `False` chun an radharc catch-all a dhíchumasú.

#### [`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 ó 216,000 go 260,000.
- Athraítear an leagan réamhshocraithe don hasher pasfhocal Argon2 go Argon2id. Méadaítear `memory_cost` agus parallelism\` go 102,400 agus 8 faoi seach chun na réamhshocruithe `argon2-cffi` a mheaitseáil.

  Ag méadú an memory\_cost\` brúitear an chuimhne riachtanach ó 512 KB go 100 MB. Tá sé seo fós sách coimeádach ach d'fhéadfadh fadhbanna a bheith mar thoradh ar thimpeallachtaí srianta cuimhne Más amhlaidh is amhlaidh, is féidir an hasher atá ann cheana a fho-aicmiú chun na réamhshocruithe a shárú.
- Méadaítear an t-entróp salainn réamhshocraithe do na hashers pasfhocal Argon2, MD5, PBKDF2, SHA-1 ó 71 go 128 giotán.

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

- Ligeann an argóint nua `absolute_max` d':func: ~django.contrib.contenttypes.forms.generic\_inlineformset\_factory an líon uasta foirmeacha is féidir a shaincheapadh nuair a sholáthraítear sonraí POST \`. Féach: ref: formsets-absolute-max le haghaidh tuilleadh sonraí.
- Ceadaíonn an argóint nua `can_delete_extra` le haghaidh: func: ~django.contrib.contenttypes.forms.generic\_inlineformset\_factory an rogha chun foirmeacha breise a scriosadh a bhaint. Féach: attr: ~.baseFormSet.can\_delete\_extra le haghaidh tuilleadh faisnéise.

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

- Tacaíonn an modh: Meth: .gdalraster.transform anois:class: ~django.contrib.gis.gdal.spatialReference.
- Tacaíonn an rang:class: ~django.contrib.gis.gdal.datasource anois:class: Pathlib.path.
- Tacaíonn an rang:class: ~django.contrib.gis.utils.layermapping anois:class: Pathlib.path.

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

- Ceadaíonn an tréith nua:attr: .ExclusionConstraint.include srianta eisiaimh clúdaigh a chruthú ar PostgreSQL 12+.
- Ligeann an tréith nua `ExclusionConstraint.opClasses` ranganna oibreora PostgreSQL a shocrú.
- The new `JSONBAgg.ordering` attribute determines the ordering of the
  aggregated elements.
- Cinneann an tréith nua:attr: .jsonBagg.Distinct an mbeidh luachanna comhiomlánaithe ar leith.
- Seiceálann an oibríocht: Class: ~django.contrib.postgres.operations.createExtension anois go bhfuil an síneadh ann cheana sa bhunachar sonraí agus scipeánann sé an imirce más amhlaidh.
- Ceadaíonn na hoibríochtaí nua:class: ~django.contrib.postgres.operations.createCollation agus:class: ~django.contrib.postgres.operations.removeCollation coláidí a chruthú agus a scaoileadh ar PostgreSQL. Féach:ref: manage-postgresql-collations le haghaidh tuilleadh sonraí.
- Ceadaíonn cuardaigh le haghaidh: class: ~django.contrib.postgres.fields.arrayfield eagair (neamh-neadaithe) ina bhfuil nathanna mar thaobh na láimhe deise anois.
- Ligeann an léiriú nua:class: opClass () \<django.contrib.postgres.indexes.OpClass\>\`innéacsanna feidhmiúla a chruthú ar nathanna le rang oibreora saincheaptha. Féach:ref: \`new\_functional\_indexes le haghaidh tuilleadh sonraí.

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

- An nua:aicme: ~django.contrib.sitemaps.sitemap tréithe: attr: ~django.contrib.siteMaps.SiteMap.Alternates, :attr: ~django.contrib.sitemaps.siteMap.Languages agus:attr: ~django.contrib.sitemaps.sitemaps.emsitemaps.sitemaps.sitemaps.sitemapsites Ceadaíonn .x\_default\` léarscáil an láithreáin ghiniú\*malartach\* le leaganacha logánaithe de do leathanaigh.

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

- Ligeann an crúca nua `item_comments` URL tuairimí a shonrú in aghaidh an mhír beatha.

#### Cúltaca bunachar sonraí

- Is féidir le cúltaca bunachar sonraí tríú páirtí tástálacha a scipeáil nó a mharcáil mar theipeanna ag súil leo i sraith tástála Django ag baint úsáide as na tréithe nua `databaseFeatures.django_test_skips` agus `django_test_expected_failures`.

#### Maisitheoirí

- Ligeann an maisitheoir nua:func: ~django.views.decorators.common.no\_append\_slash tuairimí aonair a eisiamh ó:setting: APPEND\_SLASH normalú URL.

#### Tuairisc Earráide

- Is féidir le fo-aicmí Custom:Class: ~django.views.debug.exceptionReporter airíonna: attr: ~django.views.debug.exceptionReporter.html\_template\_path agus: attr: ~django.views.debug.exceptionReporter.text\_template\_path a shainiú chun na teimpléid a úsáidtear chun tuarascálacha eisceachta a dhéanamh.

#### Uaslódálacha Comhad

- \<django.core.files.uploadhandler.FileUploadHandler.upload\_interrupted\>Ceadaíonn an glaoch nua:meth: FileUploadHandler.upload\_interrupted () uaslódálacha cur isteach ar láimhseáil.

#### Foirmeacha

- Ceadaíonn an argóint nua `absolute_max` d':func: .formset\_factory, :func: .inlineformset\_factory, agus:func: .modelformset\_factory an líon uasta na bhfoirmeacha is féidir a shaincheapadh agus sonraí POST\` á sholáthar. Féach: ref: formsets-absolute-max le haghaidh tuilleadh sonraí.
- Ceadaíonn an argóint nua `can_delete_extra` do:func: .formset\_factory, :func: .inlineformset\_factory, agus:func: .modelformset\_factory an rogha chun foirmeacha breise a scriosadh a bhaint. Féach: attr: ~.baseFormSet.can\_delete\_extra le haghaidh tuilleadh faisnéise.
- [`BaseFormSet`](/ga/6.1/topics/forms/formsets/#django.forms.formsets.BaseFormSet) now reports a user facing error,
  rather than raising an exception, when the management form is missing or has
  been tampered with. To customize this error message, pass the
  `error_messages` argument with the key `'missing_management_form'` when
  instantiating the formset.

#### Tuairimí cineálacha

- Tacaíonn na tréithe `week_format` de:class: ~django.views.generic.dates.weekMixin agus:class: ~django.views.generic.dates.weekArchiveView leis an bhformáid seachtaine `` `%V' `` ISO 8601 anois.

#### Orduithe Bainistíochta

- [`loaddata`](/ga/6.1/ref/django-admin/#django-admin-loaddata) now supports fixtures stored in XZ archives (`.xz`) and
  LZMA archives (`.lzma`).
- [`dumpdata`](/ga/6.1/ref/django-admin/#django-admin-dumpdata) now can compress data in the `bz2`, `gz`, `lzma`,
  or `xz` formats.
- [`makemigrations`](/ga/6.1/ref/django-admin/#django-admin-makemigrations) can now be called without an active database
  connection. In that case, check for a consistent migration history is
  skipped.
- [`BaseCommand.requires_system_checks`](/ga/6.1/howto/custom-management-commands/#django.core.management.BaseCommand.requires_system_checks) now supports specifying a list of
  tags. System checks registered in the chosen tags will be checked for errors
  prior to executing the command. In previous versions, either all or none
  of the system checks were performed.
- Déantar tacaíocht d'aschur teirminéil daite ar Windows a nuashonrú. Braithtear timpeallachtaí críochfoirt nua-aimseartha éagsúla go huathoibríoch, agus feabhsaítear na roghanna chun tacaíocht a chum Féach: ref: syntax-coloring le haghaidh tuilleadh sonraí.

#### Imirce

- Ligeann an maoin nua `Operation.Migration_Name_Fragment` blúire ainm comhaid a sholáthar a úsáidfear chun imirce nach bhfuil ach an oibríocht sin a ainmniú.
- Tacaíonn imirce anois le sraitheadh rudaí cosáin íon agus coincréite ó:mod: pathlib, agus:class: os.pathlike cásanna.

#### Samhla

- The new `no_key` parameter for [`QuerySet.select_for_update()`](/ga/6.1/ref/models/querysets/#django.db.models.query.QuerySet.select_for_update),
  supported on PostgreSQL, allows acquiring weaker locks that don't block the
  creation of rows that reference locked rows through a foreign key.
- [`When()`](/ga/6.1/ref/models/conditional-expressions/#django.db.models.expressions.When) expression now allows
  using the `condition` argument with `lookups`.
- Ceadaíonn na tréithe nua:attr: .index.include agus:attr: .uniqueConstraint.include innéacsanna clúdaigh a chruthú agus srianta uathúla a chlúdach ar PostgreSQL 11+.
- Ceadaíonn an tréith nua:attr: .UniqueConstraint.opClasses ranganna oibreora PostgreSQL a shocrú.
- Measann an modh: Meth: .querySet.Update anois an clásal order\_by () ar MySQL agus MariaDB.
- [`FilteredRelation()`](/ga/6.1/ref/models/querysets/#django.db.models.FilteredRelation) now supports
  nested relations.
- The `of` argument of [`QuerySet.select_for_update()`](/ga/6.1/ref/models/querysets/#django.db.models.query.QuerySet.select_for_update) is now allowed
  on MySQL 8.0.1+.
- [`Value()`](/ga/6.1/ref/models/expressions/#django.db.models.Value) expression now
  automatically resolves its `output_field` to the appropriate
  [`Field`](/ga/6.1/ref/models/fields/#django.db.models.Field) subclass based on the type of
  its provided `value` for [`bool`](https://docs.python.org/3/library/functions.html#bool), [`bytes`](https://docs.python.org/3/library/stdtypes.html#bytes),
  [`float`](https://docs.python.org/3/library/functions.html#float), [`int`](https://docs.python.org/3/library/functions.html#int), [`str`](https://docs.python.org/3/library/stdtypes.html#str),
  [`datetime.date`](https://docs.python.org/3/library/datetime.html#datetime.date), [`datetime.datetime`](https://docs.python.org/3/library/datetime.html#datetime.datetime),
  [`datetime.time`](https://docs.python.org/3/library/datetime.html#datetime.time), [`datetime.timedelta`](https://docs.python.org/3/library/datetime.html#datetime.timedelta),
  [`decimal.Decimal`](https://docs.python.org/3/library/decimal.html#decimal.Decimal), and [`uuid.UUID`](https://docs.python.org/3/library/uuid.html#uuid.UUID) instances. As a
  consequence, resolving an `output_field` for database functions and
  combined expressions may now crash with mixed types when using `Value()`.
  You will need to explicitly set the `output_field` in such cases.
- Ligeann an modh nua:meth: .queryset.alias ainmneacha in-athúsáidte a chruthú le haghaidh nathanna nach gá a roghnú ach a úsáidtear chun scagadh, ordú nó mar chuid de nathanna casta.
- Ceadaíonn an fheidhm nua:class: ~django.db.models.functions.collate scagadh agus ordú trí chomhbhailtí sonraithe bunachar sonraí.
- The `field_name` argument of [`QuerySet.in_bulk()`](/ga/6.1/ref/models/querysets/#django.db.models.query.QuerySet.in_bulk) now accepts
  distinct fields if there's only one field specified in
  [`QuerySet.distinct()`](/ga/6.1/ref/models/querysets/#django.db.models.query.QuerySet.distinct).
- Ceadaíonn paraiméadar nua `tzinfo` den fheidhmeanna bunachar sonraí: ~django.db.models.functions.truncDate agus:class: ~django.db.models.functions.truncTime feidhmeanna dáta a ghearradh i gcrios ama ar leith.
- \<django.db.models.TextField.db\_collation\>Ceadaíonn an argóint nua db\_collation\` le haghaidh: attr: CharField \`agus:attr: \`TextField\<django.db.models.CharField.db\_collation\> comhdhlúthú bunachar sonraí a shocrú don réimse.
- Cuireadh feidhm bunachar sonraí: class: ~django.db.models.functions.random leis.
- \<django.db.models.OuterRef\>:ref: aggregation-functions, :class: F () \`, :class: \`O \<django.db.models.F\>uterRef (), agus ceadaíonn nathanna eile athfhoirmithe a úsáid anois. Féach: ref: using-transforms-in-expressions le haghaidh sonraí.
- Ráthaíonn an argóint nua `durable` le haghaidh: func: ~django.db.transaction.atomic go ndéanfar athruithe a dhéantar sa bhloc adamhach má imeoidh an bloc gan earráidí. Ardóidh bloc adamhach neadaithe atá marcáilte mar mharthanach `Runtimeerror`.
- Cuireadh feidhm bunachar sonraí: class: ~django.db.models.functions.jsonObject leis.

#### Leathanaigh

- Ligeann an modh nua:meth: django.core.paginator.paginator.get\_elided\_page\_range raon leathanaigh a ghiniúint le cuid de na luachanna a dhíothú. Má tá líon mór leathanaigh ann, d'fhéadfadh sé seo a bheith cabhrach chun líon réasúnta naisc leathanaigh a ghiniúint i dteimpléad.

#### Iarrataí agus Freagraí

- Stóráiltear ceanntála freagartha anois in:attr: .httpResponse.headers. Is féidir é seo a úsáid in ionad an chomhéadan bunaidh cosúil le dict de rudaí HttpResponse. Leanfar tacaíocht ar aghaidh leis an dá chomhéadan. Féach: Ref: setting-header-fields le haghaidh sonraí.
- Ceadaíonn an paraiméadar nua `headers` de:class: ~django.http.httpResponse, :class: ~django.template.response.simpletemplateResponse, agus:class: ~Django.Template.Response.TemplateResponse freagra:attr: ~Django.http.HttpResponse Ceannairí ar ionchúradh.

#### Slándáil

- Déantar an socrú: SETTING: SECRET\_KEY a sheiceáil anois le haghaidh luach bailí ar an gcéad rochtain, seachas nuair a luchtaítear socruithe den chéad uair. Cuireann sé seo ar chumas orduithe bainistíochta a reáchtáil nach bhfuil ag brath ar an `SECRET_KEY` gan gá leo luach a sholáthar. Mar thoradh air seo, glaoch: func: ~django.conf.settings.configure gan SECRET\_KEY\` bailí a sholáthar, agus ansin dul ar aghaidh chun rochtain a fháil ar `Settings.SECRET_KEY` ardóidh eisceacht anois:exc: ~django.core.exceptions.imProperlyConfigured.
- Ceadaíonn na modhanna nua ```Signer.sign_Object () ``agus ``Signer.unsign_Object ()``` struchtúir chasta sonraí a shíniú. Féach:ref: signing-complex-data le haghaidh tuilleadh sonraí.

  Chomh maith leis sin, :func: signing.dumps () \<django.core.signing.dumps\>\`agus:func: \`~django.core.signing.loads ina aicearraí le haghaidh: meth: .timeStampSigner.sign\_Object agus:meth: ~.TimeStampSigner.Unsign\_Object.

#### Sraitheadh

- Ceadaíonn an \<serialization-formats-jsonl\>serializer nua:ref: JSONL \`formáid Lines JSON a úsáid le: djadmin: \`dumpdata agus:djadmin: djadmin: \`loaddata. Is féidir leis seo a bheith úsáideach chun bunachair sonraí móra a líonadh toisc go luchtaítear sonraí líne ar líne isteach sa chuimhne, seachas iad a luchtú go léir ag an am céanna.

#### Comharthaí

- \<django.dispatch.Signal.send\_robust\>: meth: Logáil signal.send\_robust () eisceachtaí anois.

#### Teimpléid

- [`floatformat`](/ga/6.1/ref/templates/builtins/#std-templatefilter-floatformat) template filter now allows using the `g` suffix to
  force grouping by the [`THOUSAND_SEPARATOR`](/ga/6.1/ref/settings/#std-setting-THOUSAND_SEPARATOR) for the active locale.
- Teimpléid atá i dtaisce le [Tá lódairí teimpléid i dtaisce](/ga/6.1/ref/templates/api/#template-loaders) á athlódáil i gceart anois á bhforbairt.

#### Tástálacha

- Objects assigned to class attributes in [`TestCase.setUpTestData()`](/ga/6.1/topics/testing/tools/#django.test.TestCase.setUpTestData) are
  now isolated for each test method. Such objects are now required to support
  creating deep copies with [`copy.deepcopy()`](https://docs.python.org/3/library/copy.html#copy.deepcopy). Assigning objects which
  don't support `deepcopy()` is deprecated and will be removed in Django 4.1.
- [`DiscoverRunner`](/ga/6.1/topics/testing/advanced/#django.test.runner.DiscoverRunner) now enables
  [`faulthandler`](https://docs.python.org/3/library/faulthandler.html#module-faulthandler) by default. This can be disabled by using the
  [`test --no-faulthandler`](/ga/6.1/ref/django-admin/#cmdoption-test-no-faulthandler) option.
- [`DiscoverRunner`](/ga/6.1/topics/testing/advanced/#django.test.runner.DiscoverRunner) and the
  [`test`](/ga/6.1/ref/django-admin/#django-admin-test) management command can now track timings, including database
  setup and total run time. This can be enabled by using the [`test
  --timing`](/ga/6.1/ref/django-admin/#cmdoption-test-timing) option.
- : class: ~django.test.client coimeannann an teaghrán fiosrúcháin iarratais anois agus 307 agus 308 atreoraithe á leanúint agat.
- \<django.db.transaction.on\_commit\>Gabhann an modh nua:meth: .testcase.captureOnCommitCallbacks feidhmeanna glaonna ar ais a chuirtear chuig: func: transaction.on\_commit () \`i liosta. Ligeann sé seo duit glaonna den sórt sin a thástáil gan an níos moille: class: \`.transactionTestCase a úsáid.
- [`TransactionTestCase.assertQuerysetEqual()`](/ga/6.1/topics/testing/tools/#django.test.TransactionTestCase.assertQuerySetEqual) now supports direct
  comparison against another queryset rather than being restricted to
  comparison against a list of string representations of objects when using the
  default value for the `transform` argument.

#### Fóntais

- Ligeann paraiméadar nua `depth` de fheidhmeanna ```django.utils.timesince.timesince () ``agus ``django.utils.timesince.timetill ()``` líon na n-aonad ama in aice láimhe le filleadh a shonrú.

#### Bailíochtóirí

- Cuimsíonn bailíochtóirí ionsuite anois an luach a chuirtear ar fáil in argóint params\` ardaithe: exc: ~django.core.exceptions.validationError. Ligeann sé seo teachtaireachtaí earráide saincheaptha an sealbhóir áite `% (value) s` a úsáid.
- Déanann an t-oibreoir comhionannais: Class: .ValidationError neamhaird anois ar ordú ```teachtaireachtaí ``agus `params```.

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

### 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í.

- Cuireann an maoin nua `DatabaseFeatures.Introspected_Field_Types` in ionad na gnéithe seo:

  - `can_introspect_autofield`
  - `` `Is féidir leis an réimse mór_iomlánaíneach ``
  - `` `is féidir _introspect_dénárach_réimhseach ``
  - Is féidir \_introspect\_deacimal\_réimse \`\`
  - Is féidir \_ionfheictitheoireach\_tréimhseach\_réimse \`
  - `Is féidir _introspect_ip_address _field`
  - Is féidir \_ionstraimhseach\_dearfact\_réimhseach\_iomlán\_réimse \`
  - Is féidir \_ionstraimhseach\_beag\_lán\_réimse \`
  - Is féidir \_réimseach\_aim\_ionstraiméireacht \`
  - `cineál_infheicteoireach_mór_auto_field_`
  - `` `cineál_réimsí beag_auto_field_introspected ``
  - `` `cineál_réimsí ionchosraithead_boolean ``
- Chun tacaíocht a chumasú chun innéacsanna a chlúdach (:attr: .index.include) agus srianta uathúla a chlúdach (:attr: .UniqueConstraint.include), socraigh `databaseFeatures.supports_covering_indexes` go True\`.
- Caithfidh cúltaca bunachar sonraí tríú páirtí tacaíocht do cholúin bunachar sonraí colún a chur i bhfeidhm ar `Charfield` agus `TextField`s nó DatabaseFeatures.supports\_collation\_on\_charfield\` agus `databaseFeatures.supports_collation_on_textfield` a shocrú go False\`. Mura dtacaítear le comparáidí neamhchinnteacha, socraigh `supports_non_deterministic_collations` go False\`.
- Baintear `DatabaseOperations.Random_Function_SQL ()` i bhfabhar an fheidhm bunachar sonraí nua:class: ~Django.db.Models.Functions.Random.
- ```DatabaseOperations.date_trunc_sql () ``agus``` DatabaseOperations.time\_trunc\_sql () ```glacann anois an argóint roghnach ``tzname``` d'fhonn a ghearradh i gcrios ama ar leith.
- Faigheann ```DatabaseClient.runshell () `argóintí anois agus foclóir roghnach le hathróga comhshaoil chuig an gcliant líne ordaithe bunúsach ó ``DatabaseClient.settings_to_cmd_args_env () `modh. Caithfidh cúltaca bunachar sonraí tríú páirtí ``DatabaseClient.settings_to_cmd_args_env () `a chur i bhfeidhm nó ``DatabaseClient.runshell ()``` a shárú.
- Caithfidh cúltaca bunachar sonraí tríú páirtí tacaíocht d'innéacsanna feidhmiúla a chur i bhfeidhm (:attr: .index.Expressions) nó DatabaseFeatures.supports\_Expression\_indexes\` a shocrú go `False`. Mura bhfuil COLLATE\` mar chuid den ráiteas `CREATE INDEX`, socraigh `databaseFeatures.collate_as_index_expression` go True\`.

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

- Tá naisc leathanaigh sa riarachán anois 1-innéacsaithe in ionad 0-innéacsaithe, ie is é an teaghrán fiosrúcháin don chéad leathanach `? p=1` in ionad `? p=0`.
- Briseoidh an radharc nua riaracháin catch-all patrúin URL a atreoraítear tar éis na URLanna riaracháin agus an réimír URL riaracháin a mheaitseáil. \<django.contrib.admin.AdminSite.final\_catch\_all\_view\>Is féidir leat d'ordú URL a choigeartú nó, más gá, socraí:attr: adminsite.final\_catch\_all\_view \`go \`False\`, ag díchumasú an radharc catch-all. Féach:ref: whats-new-3.2 le haghaidh tuilleadh sonraí.
- Ní chuirtear comhaid JavaScript mionraithe san áireamh leis an riarachán a thuilleadh. Má theastaíonn uait go ndéanfaí na comhaid seo a mionrú, smaoinigh ar aip tríú páirtí nó uirlis tógála seachtrach a úsáid. \<contrib-admin-jquery\>Tá na comhaid JavaScript mionraithe a phacáistithe leis an riarachán (e.g.:ref: jquery.min.js ) san áireamh fós.
- [`ModelAdmin.prepopulated_fields`](/ga/6.1/ref/contrib/admin/#django.contrib.admin.ModelAdmin.prepopulated_fields) no longer strips English stop words,
  such as `'a'` or `'an'`.

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

- Baintear tacaíocht do PostGIS 2.2.
- Clónaíonn cúltaca Oracle anois polagóin (agus bailiúcháin geoiméadais ina bhfuil polagóin) sula ndéanann siad iad a athdhíriú agus iad a shábháil ar an mbunachar sonraí. Níl siad sáraithe i bhfeidhm a thuilleadh. B'fhéidir go dtabharfá é seo a thabhairt faoi deara má úsáideann tú na polagóin tar éis samhail a shábháil.

### Tacaíocht titim do PostgreSQL 9.5

Críochnaíonn tacaíocht suas srutha do PostgreSQL 9.5 i mí Feabhra 2021. Tacaíonn Django 3.2 le PostgreSQL 9.6 agus níos airde.

### Tacaíocht titim do MySQL 5.6

Is é Aibreán 2021 deireadh na tacaíochta suas srutha do MySQL 5.6. Tacaíonn Django 3.2 le MySQL 5.7 agus níos airde.

### Ilghnéitheach

- Tacaíonn Django anois le criosanna ama neamh-pytz, mar shampla Python 3.9+'s:mod: zoneinfo modúl agus a backport.
- Athainmnítear an modh neamhdhoiciméadaithe ```SpatialiteOperations.proj4_version () ``go `proj_version ()```.
- [`slugify()`](/ga/6.1/ref/utils/#django.utils.text.slugify) now removes leading and trailing dashes
  and underscores.
- Ní bhraitheann scagairí teimpléad:tfilter: intcomma agus:tfilter: intword a thuilleadh ar an socrú `USE_L10N`.
- Baintear tacaíocht do argon2-cffi \<19.1.0.
- Ní chuimsíonn na heochracha taisce an teanga a thuilleadh nuair a dhéantar idirnáisiúnú a dhíchumasú (`USE_I18N = False`) agus cuirtear logánú cumasaithe (`USE_L10N = True`). Tar éis uasghrádú a dhéanamh go Django 3.2 i gcumraíochtaí den sórt sin, is é an chéad iarratas ar aon luach a chosáiltear roimhe seo ná caill taisce.
- ForeignKey.validate () úsáideann anois:attr: ~Django.db.Models.Model. \_base\_manager seachas: attr: ~django.db.Models.Model. \_default\_manager chun a sheiceáil go bhfuil cásanna gaolmhara ann.
- Nuair a shainmhíníonn feidhmchlár fo-aicme: ~django.apps.appconfig i bhfo-mhodúl `apps.py`, úsáideann Django an chumraíocht seo go huathoibríoch anois, fiú mura bhfuil sé cumasaithe le default\_app\_config\`. Socraigh `default = False` sa fho-aicme: ~django.apps.appconfig más gá duit an t-iompar seo a chosc. Féach:ref: whats-new-3.2 le haghaidh tuilleadh sonraí.
- Ardaíonn múnla teibí anois `TypeError` a thionscnamh.
- Tá argóintí eochairfhocal to:func: ~django.test.utils.setup\_databases eochairfhocal amháin anois.
- Baintear an fheidhm django.utils.http.limited\_parse\_qsl () neamhdhoiciméadaithe. Úsáid le do thoil: func: urllib.parse.parse\_qsl ina ionad.
- `django.test.utils.TestContextDecorator` now uses
  [`addCleanup()`](https://docs.python.org/3/library/unittest.html#unittest.TestCase.addCleanup) so that cleanups registered in the
  [`setUp()`](https://docs.python.org/3/library/unittest.html#unittest.TestCase.setUp) method are called before
  `TestContextDecorator.disable()`.
- Ardaíonn `SessionMiddleWare` eisceacht anois a:exc: ~Django.Contrib.sessions.Exceptions.SessionInterrupted in ionad:exc: ~Django.Core.Exceptions.SuspiciousOperation nuair a scriostar seisiún in iarratas comhuaineach.
- Déanann an t-oibreoir comhionannais: Class: Django.DB.Models.Field idirdhealú i gceart anois cásanna allamuigh oidhreachta ar fud samhlacha. Ina theannta sin, sainmhínítear ordú réimsí den sórt sin anois.
- Filleann an fheidhm ```django.core.files.locks.lock () ``neamhdhoiciméadaithe ``False``` anois mura féidir an comhad a ghlasáil, in ionad ardú:exc: blockingioError.
- Déanann an mheicníocht athshocraithe pasfhocail neamhbhailí anois ar chomharthaí nuair a athraítear ríomhphost an úsáideora.
- [`makemessages`](/ga/6.1/ref/django-admin/#django-admin-makemessages) command no longer processes invalid locales specified
  using [`makemessages --locale`](/ga/6.1/ref/django-admin/#cmdoption-makemessages-locale) option, when they contain hyphens
  (`'-'`).
- Is é an réimse foirme `django.contrib.auth.forms.ReadOnlyPasswordHashfield` anois:attr: ~django.forms.field.disabled de réir réamhshocraithe. Dá bhrí sin ní gá UserChangeForm.clean\_password () an luach tosaigh a thabhairt ar ais a thuilleadh.
- Láimhseálann na hoibríochtaí taisce ```cache.get_many () ``, `get_or_set ()```, has\_key () \`, incr ()\`, decr () \`, incr\_version ()\`, agus decr\_version () \`\`i gceart anois \`\`None\` atá stóráilte sa taisce, ar an mbealach céanna le haon luach eile, in ionad iompar amhail is nach raibh an eochair ann.

  Mar gheall ar theorannú python-memcached, coimeádtar an t-iompar roimhe seo don chúltaca MemcachedCache atá díluaite.
- Méadaítear an leagan íosta tacaithe de SQLite ó 3.8.3 go 3.9.0.
- [`CookieStorage`](/ga/6.1/ref/contrib/messages/#django.contrib.messages.storage.cookie.CookieStorage) now stores
  messages in the [**RFC 6265**](https://datatracker.ietf.org/doc/html/rfc6265.html) compliant format. Support for cookies that use
  the old format remains until Django 4.1.
- Méadaítear an leagan íosta tacaithe de asgiref\` ó 3.2.10 go 3.3.2.

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

### Ilghnéitheach

- Assigning objects which don't support creating deep copies with
  [`copy.deepcopy()`](https://docs.python.org/3/library/copy.html#copy.deepcopy) to class attributes in
  [`TestCase.setUpTestData()`](/ga/6.1/topics/testing/tools/#django.test.TestCase.setUpTestData) is deprecated.
- Tá luach boolean a úsáid in:attr: .baseCommand.requires\_System\_Checks díluachtaithe. Úsáid `'__all__'` in ionad `True`, agus `[]` (liosta folamh) in ionad `False`.
- Tá an argóint `whitelist` agus an tréith domain\_whitelist\` de:class: ~django.core.validators.emailValidator a dhíchur. Úsáid `allowlist` in ionad `whitelist`, agus `domain_allowlist` in ionad `domain_whitelist`. B'fhéidir go mbeidh ort `whitelist` a athainmniú sna himirce atá ann cheana.
- Tá an t-athróg cumraíochta feidhmchláir `default_app_config` díscothaithe, mar gheall ar an bhfionnachtain `AppConfig` uathoibríoch anois. Féach:ref: whats-new-3.2 le haghaidh tuilleadh sonraí.
- Tá glaoch go huathoibríoch ar repr () \`\`ar shraith fiosrúcháin i \`\`TransactionTestCase.AssertQuerySetEqual ()\`, i gcomparáid le luachanna teaghrán, a dhíchur. Má theastaíonn an t-iompar roimhe seo uait, socraigh go sainráite `transform` go `repr`.
- Tá an cúltaca `django.core.cache.backends.memcached.memcachedcache` díluaite mar tá roinnt fadhbanna ag `python-memcached` agus is cosúil nach bhfuil sé cothabháilte. Úsáid `django.core.cache.backends.memcached.pymemcacheCache` nó `django.core.cache.backends.memcached.pylibmccache` ina ionad.
- Tá formáid na dteachtaireachtaí a úsáideann `Django.contrib.messages.storage.cookie.cookie.cookieStorage` difriúil ón bhformáid a ghineann leaganacha níos sine de Django. Tá tacaíocht don sean-fhormáid fós go dtí Django 4.1.
