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

*1 Lúnasa, 2018*

Fáilte go dtí Django 2.1!

Clúdaíonn na nótaí scaoilte seo na:ref: gnéithe nua \<whats-new-2.1\>, chomh maith le roinnt: ref: athruithe neamh-chomhoiriúnacha ar chúl\<backwards-incompatible-2.1\> a mbeidh tú ag iarraidh a bheith ar an eolas fúthu agus tú ag uasghrádú ó Django 2.0 nó níos luaithe. \<deprecated-features-2.1\>Chuireamar: Ref: thit roinnt \<removed-features-2.1\>gnéithe \`a bhfuil deireadh a dtimthriall díghníomhaíochta bainte amach acu, agus chuireamaire:ref: \`thosaigh muid ar an bpróiseas díghníomhaíochta do roinnt gnéithe.

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

## Comhoiriúnacht Python

Django 2.1 supports Python 3.5, 3.6, and 3.7. Django 2.0 is the last version to
support Python 3.4. We **highly recommend** and only officially support the
latest release of each series.

## Cad atá nua i Django 2.1

### Cead “féach” samhail

\<django.db.models.Options.default\_permissions\>Cuirtear cead “amharc” leis an tsamhail:attr: Meta.default\_Permissions \`. Cruthófar na ceadanna nua go huathoibríoch agus iad ag rith: djadmin: \`migrate.

Ligeann sé seo rochtain léite amháin a thabhairt d'úsáideoirí ar mhúnlaí sa riarachán. :meth: Tá .modeladmin.has\_view\_permission nua. Tá an cur i bhfeidhm comhoiriúnach ar ais sa mhéid nach gá an cead “amharc” a shannadh chun ligean d'úsáideoirí a bhfuil an cead “athraithe” acu rudaí a chur in eagar.

\<view\_permission\_backwards\_incompatible\>Tá cúpla de:ref: breithnithe neamh-chomhoiriúnacha ar ais .

### Mionghnéithe

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

- [`ModelAdmin.search_fields`](/ga/6.0/ref/contrib/admin/#django.contrib.admin.ModelAdmin.search_fields) now accepts any lookup such as
  `field__exact`.
- tá jQuery uasghrádaithe ó leagan 2.2.3 go 3.3.1.
- Ligeann an modh nua:meth: .modeladmin.delete\_querySet próiseas scriostha na gníomhaíochta “scrios rudaí roghnaithe” a shaincheapadh.
- \<overriding-default-admin-site\>Is féidir leat anois:ref: an suíomh riaracháin réamhshocraithe a shárú .
- Ligeann an modh nua:attr: .modelAdmin.sortable\_by agus:meth: .modelAdmin.get\_sortable\_by teorannú ar na colúin is féidir a shórtáil ar leathanach an liosta athraithe.
- D'fhéadfadh go mbeadh an tréith admin\_order\_field\` le haghaidh eilimintí in:attr: .modelAdmin.list\_display anois ina léiriú fiosrúcháin.
- The new [`ModelAdmin.get_deleted_objects()`](/ga/6.0/ref/contrib/admin/#django.contrib.admin.ModelAdmin.get_deleted_objects) method allows customizing
  the deletion process of the delete view and the "delete selected" action.
- \<admin-templates-overridden-per-app-or-model\>Is féidir leis na teimpléid `actions.html`, change\_list\_results.html\`, date\_hierarchy.html\`, pagination.html\`, prepopulated\_fields\_js.html\`, search\_form.html\`, agus `submit_line.html` a bheith anois:ref: athsháraithe in aghaidh an aip nó in aghaidh an tsamhail (seachas a athsháraítear ar fud an domhain).
- Is féidir leis an liosta athraithe riaracháin agus na huirlisí réad foirme a athrú anois:ref: athsháraithe in aghaidh an aip, in aghaidh an tsamhail, nó ar fud an domhain \`le teimpléid \`\`change\_list\_object\_tools.html\` agus change\_form\_object\_tools.html\`\<admin-templates-overridden-per-app-or-model\>\`.
- [`InlineModelAdmin.has_add_permission()`](/ga/6.0/ref/contrib/admin/#django.contrib.admin.InlineModelAdmin.has_add_permission) is now passed the parent object
  as the second positional argument, `obj`.
- Is féidir le gníomhartha riaracháin anois  chun a infhaighteacht a theorannú d'úsáideoirí áirithe.

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

- [`createsuperuser`](/ga/6.0/ref/django-admin/#django-admin-createsuperuser) now gives a prompt to allow bypassing the
  [`AUTH_PASSWORD_VALIDATORS`](/ga/6.0/ref/settings/#std-setting-AUTH_PASSWORD_VALIDATORS) checks.

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

- Is é an modh nua:meth: .geosgeometry.buffer\_with\_style leagan de:meth: ~.geosgeometry.buffer a cheadaíonn stíl an maoláin a shaincheapadh.
- [`OpenLayersWidget`](/ga/6.0/ref/contrib/gis/forms-api/#django.contrib.gis.forms.widgets.OpenLayersWidget) is now based on
  OpenLayers 4.6.5 (previously 3.20.1).

#### [`django.contrib.sessions`](/ga/6.0/topics/http/sessions/#module-django.contrib.sessions)

- Cuireadh an socrú:setting: SESSION\_COOKIE\_SAMESITE leis chun an bratach fianán `SameSite` a shocrú ar fhianáin seisiúin.

#### Cache

- Úsáideann an:ref: cúltaca taisce cuimhne áitiúil \<local-memory-caching\>\`straitéis chaillú (LRU) is lú a úsáidtear le déanaí seachas ceann bréag-randamach.
- \<low-level-cache-api\>Nuashonraíonn an modh nua:meth: ~django.core.cache.touch den: ref: Leas-leibhéal taisce API an t-am na heochracha taisce.

#### CSRF

- Cuireadh an socrú: socrú: CSRF\_COOKIE\_SAMESITE leis chun an bratach fianán `SameSite` a shocrú ar fhianáin CSRF.

#### Foirmeacha

- Déanann an giuirléid le haghaidh `ImageField` anois leis an tréith HTML `accept="image/*"`.

#### Idirnáisiúnú

- Cuireadh an fheidhme:meth: ~django.utils.translation.get\_supported\_language\_variant leis.
- Úsáideann teaghráin neamhaistrithe le haghaidh leaganacha teanga chríochach aistriúcháin na teanga chineálach Mar shampla, úsáideann teaghráin `pt_br` neamhaistrithe aistriúcháin `pt`.

#### Orduithe Bainistíochta

- Ligeann an rogha nua:option: inspectdb --include-views samhlacha a chruthú le haghaidh tuairimí bunachar sonraí.
- Úsáideann an rang:Class: ~Django.Core.Management.BaseCommand formáiditheoir cabhrach saincheaptha anois ionas go mbeidh na roghanna caighdeánacha mar `--verbosity` nó `--settings` le feiceáil dheireanach san aschur cabhrach, ag tabhairt suíomh níos suntasaí do roghanna ordaithe fo-aicmithe.

#### Imirce

- Tacaíocht bhreise le haghaidh sraitheadh rudaí `functools.partialmethod`.
- Chun tacú le timpeallachtaí reoite, féadfar imirce a luchtú ó chomhaid `.pyc`.

#### Samhla

- Is féidir le samhlacha \_\_init\_subclass\_\_ () a úsáid anois ó:pep: 487.
- Féadfar `Binaryfield` a shocrú anois go `editable=true` más mian leat é a chur san áireamh i bhfoirmeacha samhlacha.
- Cuirtear roinnt feidhmeanna bunachar sonraí téacs nua leis: :class: ~django.db.models.functions.chr, :class: ~django.db.models.functions.left, :class: ~django.db.models.functions.lpad, :class: ~django.db.models.functions.ltrim, :class: ~django..db.Models.Functions.Ord, :class: ~django.db.models.functions.repeat, :class: ~django.db.models.functions.replace, :class: ~django.db.models.functions.right, :class: ~Django.db.Models.Functions.rpad, :class: ~django.db.db.Models.Functions.rTrim, agus:aicme: ~Django.db.Models.Functions.Trim.
- An feidhm nua:class: ~django.db.models.functions.truncWeek truncats:class: ~Django.db.Models.DateField agus:class: ~Django.db.Models.DateTimeField go dtí an Luan seachtaine.
- Is féidir nathanna ceisteanna a dhiúltú anois ag baint úsáide as comhartha lúide.
- [`QuerySet.order_by()`](/ga/6.0/ref/models/querysets/#django.db.models.query.QuerySet.order_by) and [`distinct(*fields)`](/ga/6.0/ref/models/querysets/#django.db.models.query.QuerySet.distinct)
  now support using field transforms.
- [`BooleanField`](/ga/6.0/ref/models/fields/#django.db.models.BooleanField) can now be `null=True`. This is
  encouraged instead of `NullBooleanField`, which will likely be deprecated
  in the future.
- Taispeánann an modh nua:meth: .querySet.explain plean forghníomhaithe an bhunachar sonraí ar cheist tacar fiosrúcháin.
- : meth: .queryset.raw tacaíonn anois:meth: ~.queryset.prefetch\_related.

#### Iarrataí agus Freagraí

- Cuireadh leis: Meth: .httpRequest.get\_full\_path\_info.
- Cuireadh an argóint `samesite` leis: meth: .httpResponse.set\_cookie chun an bratach fianán `SameSite` a shocrú.
- Socraíonn an argóint nua `as_attachment` do:class: ~django.http.fileResponse an ceannteideal `Content-Disposition` chun an brabhsálaí a iarraidh an bhfuil an t-úsáideoir ag iarraidh an comhad a íoslódáil. Déanann `FileResponse` iarracht na ceannteidil `Content-Type` agus `Content-Length` a shocrú nuair is cuí.

#### Teimpléid

- \<script\>Aisíonn an scagaire nua:tfilter: json\_script réad Python go sábháilte mar JSON, fillte i gclib , réidh le húsáid le JavaScript.

#### Tástálacha

- Breise tástáil: class: ~django.test.client tacaíocht do 307 agus 308 atreoraithe.
- Déanann an tástála:class: ~django.test.client sraitheach foclóir sonraí iarratais mar JSON má tá `content_type = 'application/json'`. Is féidir leat an t-ionchódóir JSON a shaincheapadh le paraiméadar json\_encoder an chliaint tástála.
- Is leagan níos simplí de:meth: ~UnitTest.TestCase.AssertWarnsMessage an modh nua:meth: ~UnitTest.TestCase.AssertWarnsRegex.

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

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

- Chun cloí le:pep: 249, athraítear eisceachtaí nuair nach dtacaíonn bunachar sonraí le gné ó:exc: NotImplementederror to:exc: django.db.notSupportedError.
- Athainmníodh an bratach gné bunachar sonraí allow\_sliced\_subqueries\` go allow\_sliced\_subqueries\_with\_in\`.
- `DatabaseOperations.Distinct_SQL ()` teastaíonn argóint params\` breise anois agus tugann sé tuple SQL agus paraiméadair in ionad teaghrán SQL.
- Athraítear `databaseFeatures.introspected_boolean_field_type` ó mhodh go maoin.

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

- Baintear tacaíocht do SpatiaLite 4.0.

### Tacaíocht titim do MySQL 5.5

Is é deireadh na tacaíochta suas srutha do MySQL 5.5 ná Nollaig 2018. Tacaíonn Django 2.1 le MySQL 5.6 agus níos airde.

### Tacaíocht titim do PostgreSQL 9.3

Is é Meán Fómhair 2018 deireadh na tacaíochta suas srutha do PostgreSQL 9.3. Tacaíonn Django 2.1 le PostgreSQL 9.4 agus níos airde.

### Bainte `BCryptPasswordHasher` ón socrú réamhshocraithe `PASSWORD_HASHERS`

Má d'úsáid tú bcrypt le Django 1.4 nó 1.5 (sular cuireadh `BCryptsha256PasswordHasher` i Django 1.6), b'fhéidir go mbeadh roinnt pasfhocail agat a úsáideann an `BCryptPasswordHasher` hasher.

Is féidir leat a sheiceáil an bhfuil sin an cás mar seo:

```
from django.contrib.auth import get_user_model

User = get_user_model()
User.objects.filter(password__startswith="bcrypt$$")
```

Más mian leat leanúint ar aghaidh ag ceadú na pasfhocail sin a úsáid, beidh ort an socrú:setting: PASSWORD\_HASHERS a shainiú (mura bhfuil tú cheana féin) agus django.contrib.auth.hashers.bcryptPasswordHasher'\` a chur san áireamh.

### Athróg comhthéacs teimpléad giuirléid `wrap_label` aistrithe

Ch \<label\>un an easpa ``` `a shocrú nuair a úsáidtear ``RadioSelect ``` agus `CheckboxSelectMultiple` le `MultiWidget`, tá an t-athróg comhthéacs `wrap_label` le feiceáil anois mar thréith de gach rogha. Mar shampla, i dteimpléad saincheaptha `input_option.html`, athraigh `{% if wrap_label%}` go `{% if widget.wrap_label%}`.

### Fianáin `Samesite`

Socraíonn na fianáin a úsáidtear le haghaidh `django.contrib.sessions`, django.contrib.messages\`, agus cosaint CSRF Django anois an bhratach `SameSite` go Lax\` de réir réamhshocraithe. Ní sheolfaidh brabhsálaithe a bhfuil meas acu leis an bhratach seo ar na fianáin seo ar iarratais trasbhunús Má tá tú ag brath ar an sean-iompar, socraigh an socrú:setting: SESSION\_COOKIE\_SAMESITE agus/nó :setting: CSRF\_COOKIE\_SAMESITE go `None`.

### Breithnithe maidir leis an gcead “féach” samhail nua

#### Caithfidh foirmeacha riaracháin saincheaptha an cás amharc amháin a chur san áireamh

Leis an gcead nua “amharc”, d'fhéadfadh foirmeacha riaracháin saincheaptha atá ann cheana earráidí a ardú nuair nach bhfuil an cead athraithe ag úsáideoir mar d'fhéadfadh an fhoirm rochtain a fháil ar réimsí nach bhfuil Déan é seo a shocrú trí:meth: .modeladmin.get\_form agus seiceáil an bhfuil na ceadanna “athraithe” ag an úsáideoir agus an fhoirm réamhshocraithe a thabhairt ar ais mura bhfuil:

```
class MyAdmin(admin.ModelAdmin):
    def get_form(self, request, obj=None, **kwargs):
        if not self.has_change_permission(request, obj):
            return super().get_form(request, obj, **kwargs)
        return CustomForm
```

#### D'fhéadfadh cead amharc réamhshocraithe nua rochtain nach dteastaíonn a che

Má tá cead saincheaptha agat le ainm cóid den fhoirm `view_ <modelname>`, ligfidh an láimhseáil cead amharc nua sa riarachán rochtain amharc ar an liosta athraithe agus ar leathanaigh mionsonraithe do na samhlacha sin. Mura dteastaíonn sé seo, ní mór duit d'ainm cóid cead saincheaptha a athrú.

### Ilghnéitheach

- Méadaítear an leagan íosta tacaithe de mysqlclient\` ó 1.3.3 go 1.3.7.
- Baintear tacaíocht do SQLite \<3.7.15.
- Athraítear formáid dáta treoir `` `Expires `` Set-Cookie\` go dtí seo a leanas: rfc: 7231 #section -7.1.1.1 in ionad caighdeán fianán Netscape. Baintear na hiphens atá i láthair i ddátaí mar `Máirt, 25-Nollaig 2018 22:26:13 GMT`. Níor chóir go mbeadh an t-athrú seo ach cosmaideach ach amháin b'fhéidir do bhrabhsálaithe seanmhara nach ndéanann an formáid nua a pháirseáil.
- Is argóint riachtanach é allowed\_hosts\` anois de API príobháideach django.utils.http.is\_safe\_url () .
- Úsáideann an tréith `multiple` a rinneadh ag an n:class: ~django.forms.SelectMultiple giuirléid anois comhréir boolean HTML5 seachas `multiple="multiple"` XHTML.
- \<br\>Ní chuimsíonn HTML a rindreáiltear ag giuirléidí foirme scall deiridh ar eilimintí neamhní a thuilleadh, m.sh. \` Níl sé seo comhoiriúnach laistigh de XHTML, cé gur úsáid roinnt giuirléidí gnéithe de HTML5 cheana féin mar thréithe boolean.
- Athraítear luach roghanna folmha: Class: ~django.forms.SelectDateWidget ó 0 go sreang folamh, a d'fhéadfadh roinnt coigeartúcháin a bheith ag teastáil go príomha i dtástálacha a dhéanann comparáid idir HTML.
- [`User.has_usable_password()`](/ga/6.0/ref/contrib/auth/#django.contrib.auth.models.User.has_usable_password) and the
  [`is_password_usable()`](/ga/6.0/topics/auth/passwords/#django.contrib.auth.hashers.is_password_usable) function no longer
  return `False` if the password is `None` or an empty string, or if the
  password uses a hasher that's not in the [`PASSWORD_HASHERS`](/ga/6.0/ref/settings/#std-setting-PASSWORD_HASHERS) setting.
  This undocumented behavior was a regression in Django 1.6 and prevented users
  with such passwords from requesting a password reset. Audit your code to
  confirm that your usage of these APIs don't rely on the old behavior.
- Ós rud é go bhfuil imirce luchtaithe anois ó chomhaid .pyc\`, b'fhéidir go mbeidh ort iad a scriosadh má tá tú ag obair i dtimpeallacht measctha Python 2 agus Python 3.
- Meaitseálann luach cuardaigh `` `None `` mar luach cuardaigh `Django.contrib.postgres.fields.jsonField` anois rudaí a bhfuil an eochair sonraithe acu agus luach null seachas rudaí nach bhfuil an eochair acu.
- Athainmnítear an rang CSS riaracháin `field-box` go fieldbox\` chun coimhlintí leis an rang a thugtar do réimsí samhail darb ainm “bosca” a chosc.
- Ós rud é go bhfuil `gníomhaíochtaí.html`, `change_list_results.html`, `date_hierarchy.html`, `page.html`, `prepopulated_fields_js.html`, `search_form.html`, \`\` search\_form.html\`\` , agus is féidir teimpléid `submit_line.html` a shárú anois in aghaidh na haipe nó in aghaidh na samhla, seans go mbeidh ort teimpléid reatha a athainmniú leis na hainmneacha sin a bhí scríofa chun críche eile.
- QuerySet.raw () a thorthaí a choscann anois cosúil le ceisteanna rialta. Úsáid iterator () mura dteastaíonn caching uait.
- Tugtar modh ar an ródaire bunachar sonraí: meth: allow\_relations i gcásanna níos mó. B'fhéidir go gcaithfear ródairí scríofa míchuí a nuashonrú dá réir.
- Ní dhíghníomhaítear aistriúcháin a thuilleadh sula ndéantar orduithe \<management-commands-and-locales\>Má éilíonn d'ordú saincheaptha aistriúcháin a dhíghníomhachtú (mar shampla, chun ábhar neamhaistrithe a chur isteach sa bhunachar sonraí), bain úsáid as an nua:ref: @no\_translations decorator.
- Ní cheadaíonn orduithe bainistíochta foirmeacha giorraithe na n-argóintí ```--socruithe ``agus ``--pythonpath``` a thuilleadh.
- Baintear an tairiseach príobháideach `Django.db.Models.sql.Constants.Query_Terms`. \<lookup-registration-api\>B'fhéidir gur roghanna oiriúnacha iad na modhanna: Meth: ~.registerlookupMixin.get\_lookupMixin.get\_lookupMixin.get\_lookups.get\_lookups agus:ref: Lookup Clárúcháin API \`. I gcomparáid leis an tairiseach \`\`QUERY\_TERMS\`, tugann siad deis do chód cuntas a thabhairt ar aon chuardach saincheaptha atá cláraithe.
- Baintear comhoiriúnacht le py-bcrypt\` toisc nach bhfuil sé cothabháilte. Úsáid: pypi: bcrypt ina ionad.

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

### Ilghnéitheach

- Tá an fheidhm GIS `ForcerHR` díluaite i bhfabhar an fheidhm nua:class: ~django.contrib.gis.db.models.functions.forcePolygOncw.
- Tá django.utils.http.cookie\_date () díscoilte i bhfabhr:func: \`~django.utils.http.http\_date, a leanann formáid an RFC is déanaí.
- Tá `{% load staticfiles%}` agus `{% load admin_static%}` a dhíchur i bhfabhar `{% load static%}`, a oibríonn mar an gcéanna.
- Tá ```django.contrib.staticfiles.templatetags.static () ``díluachtaithe i bhfabhar ``django.templatetags.static.static ()```.
- Bainfear tacaíocht d':meth: .inlineModelAdmin.has\_Add\_Permission modhanna nach nglacann le `obj` mar an dara argóint seasmhach i Django 3.0.

## Gnéithe bainte i 2.1

Tá na gnéithe seo tar éis deireadh a dtimthriall díscrúdaithe bainte amach agus baintear iad i Django 2.1. Féach: Ref: deprecated-features-1.11 le haghaidh sonraí, lena n-áirítear conas úsáid na ngnéithe seo a bhaint.

- ```contrib.auth.views.login () ``, `logout ()```, password\_change () \`, password\_change\_done ()\`, password\_change\_done () \`, password\_reset\_done ()\`, password\_reset\_done () \`, password\_reset\_firm ()\`, agus wordpass\_reset\_complete () Baintear .
- Baintear an paraiméadar `extra_context` de contrib.auth.views.logout\_then\_login () \`.
- Baintear django.test.runner.setup\_databases () .
- Baintear django.utils.translation.string\_concat () .
- Ní thacaíonn `django.core.cache.backends.memcached.pylibmccache` a thuilleadh le socruithe iompraíochta `pylibmc` a rith mar thréithe barrleibhéil de `OPTIONS`.
- Baintear an paraiméadar `host` de django.utils.http.is\_safe\_url () \`.
- Baintear an chlib teimpléid `{% include%}` a thostú ar eisceachtaí a ardaíodh agus iad á rindreáil.
- Baintear databaseintrospection.get\_indexes () .
- Éilíonn an modh ```fíordheimhniú () `chun cúltaca fíordheimhnithe ``iarraidh``` mar an chéad argóint seasaimh.
- Baintear an maisitheoir django.db.models.permalink () .
- Baintear an socrú `USE_ETAGS`. Ní shocraíonn `CommonMiddleware` agus django.utils.cache.patch\_response\_heads () ETags a thuilleadh.
- An `Samhail. Baintear tréith _meta.has_auto_field`.
- Tacaíocht ```url () ``do bhratacha inlíne i ngrúpaí léirithe rialta (``` (? i) `,` (? L) `,` (? m) `,` (? s) `, agus` (? u) ) baintear.
- Baintear tacaíocht do mhodhanna `Widget.render ()` gan an argóint `renderer`.
