Nótaí scaoilte Django 3.0Link to this heading
2 Nollaig, 2019
Fáilte go dtí Django 3.0!
Clúdaíonn na nótaí scaoilte seo na:ref: gnéithe nua <whats-new-3.0>, chomh maith le roinnt: ref: athruithe neamh-chomhoiriúnacha ar chúl<backwards-incompatible-3.0> a mbeidh tú ag iarraidh a bheith ar an eolas fúthu agus tú ag uasghrádú ó Django 2.2 nó níos luaithe. <deprecated-features-3.0>Chuireamar: Ref: thit roinnt <removed-features-3.0>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 PythonLink to this heading
Tacaíonn Django 3.0 le Python 3.6, 3.7, 3.8, agus 3.9 (amhail 3.0.11). Molaimid** go hard** agus ní thacaímid go hoifigiúil ach leis an scaoileadh is déanaí de gach sraith.
Is é an tsraith Django 2.2.x an ceann deireanach a thacaíonn le Python 3.5.
Tacaíocht leabharlainne tríú páirtí le haghaidh leagan níos sine de DLink to this heading
Tar éis Django 3.0 a scaoileadh, molaimid go scaoilfidh údair aip tríú páirtí tacaíocht do gach leagan de Django roimh 2.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 3.0.
Cad atá nua i Django 3.0Link to this heading
Tacaíocht MariaDBLink to this heading
Tacaíonn Django anois go hoifigiúil le Mariadb 10.1 agus níos air< https://mariadb.org/> de. <mariadb-notes>Féach:ref: `Nótaí MariaDB `le haghaidh tuilleadh sonraí.
Tacaíocht ASGILink to this heading
Cuireann Django 3.0 tús lenár dturas chun Django a dhéanamh go hiomlán in ann sioncronaithe a dhéanamh trí thacaíocht a sholáthar chun feidhmiú mar fheidhmchlár ASGI.
Tá sé seo i dteannta lenár dtacaíocht WSGI atá ann cheana. Tá sé i gceist ag Django tacú leis an dá cheann don todhchaí atá le teacht. Ní bheidh gnéithe async ar fáil ach d'iarratais a ritheann faoi ASGI, áfach.
Ag an gcéim seo ní bhaineann tacaíocht async ach leis an bhfeidhmchlár ASGI seachtrach. Go hinmheánach fanann gach rud sioncrónach. Ní thacaítear le meánghearraí asincrónacha, tuairimí, srl. Is féidir leat, áfach, middleware ASGI a úsáid timpeall feidhmchlár Django, rud a ligeann duit Django a chomhcheangal le creataí ASGI eile.
Ní gá d'iarratais a aistriú mura dteastaíonn uait tosú ag triail a dhéanamh le cód asincrónach, ach tá: doc: doiciméadú againn maidir le húsáid le ASGI más mian leat níos mó </howto/deployment/asgi/index> a fhoghlaim.
Tabhair faoi deara, mar fho-éifeacht den athrú seo, go bhfuil Django ar an eolas anois faoi lúba imeachtaí asincrónacha agus go gcuirfidh sé bac ort cód glaonna atá marcáilte mar “neamhshábháilte async” - mar oibríochtaí ORM - ó chomhthéacs asincrónach. Má bhí tú ag úsáid Django ó chód async roimhe seo, d'fhéadfadh sé seo a spreagadh má bhí tú ag déanamh é go mícheart. Má fheiceann tú earráid ``SynchronousOnlyOperation`, ansin déan scrúdú go dlúth ar do chód agus bog aon oibríochtaí bunachar sonraí chun a bheith i snáithe leanbh sioncrónach.
Srianta eisiaimh ar PostgreSQLLink to this heading
Cumasaíonn an rang nua:class: ~django.contrib.postgres.Constraints.ExclusionConstraint srianta eisiaimh a chur ar PostgreSQL. <django.db.models.Options.constraints>Cuirtear srianta le samhlacha ag baint úsáide as an rogha: attr: `Meta.Constraints `.
Nathanna scagaireLink to this heading
Is féidir abairtí a aschuir:class: ~django.db.models.booleanfield a úsáid go díreach anois i scagairí ``QuerySet ``, gan anótáil a dhéanamh ar dtús agus ansin scagadh i gcoinne an anótála.
Liomhanna le haghaidh roghanna réimse samhailLink to this heading
Tá cineálacha áireamh saincheaptha TextRoices, IntegerChoices`, agus Roghnaithe ar fáil anois mar bhealach chun: attr: .field.choices a shainiú. Soláthraítear cineálacha TextChoices agus IntegerChoices do réimsí téacs agus sláimhir. Ligeann an rang Roghna áireamh comhoiriúnach a shainiú do chineálacha sonraí nithiúla eile. Tacaíonn na cineálacha áireamh saincheaptha seo le lipéid inléite don duine ar féidir iad a aistriú agus rochtain a fháil orthu trí mhaoin ar an áireamh nó ar a chomhaltaí. Féach: Tagairt: `Cineálacha áireamh <field-choices-enum-types>`le haghaidh tuilleadh sonraí agus samplaí.
MionghnéitheLink to this heading
django.contrib.adminLink to this heading
Cuireadh tacaíocht leis an tréith
admin_order_fieldar airíonna in:attr: .modeladmin.list_display.Ligeann an modh nua:meth: `ModelAdmin.get_inlines () <django.contrib.admin.ModelAdmin.get_inlines>`na línte a shonrú bunaithe ar an iarratas nó an tsamhail.
Déantar leabharlann Select2 a uasghrádú ó leagan 4.0.3 go 4.0.7.
tá jQuery uasghrádaithe ó leagan 3.3.1 go 3.4.1.
django.contrib.authLink to this heading
Ligeann an tréith nua
reset_url_tokenin:class: ~django.contrib.auth.views.passwordResetConfirmView paraiméadar comhartha a thaispeántar mar chomhpháirt d'URLanna athshocraithe pasfhocal a shonrú.Cuireadh leis: Class: ~django.contrib.auth.backends.baseBackend rang chun saincheapadh cúltaca fíordheimhnithe a éascú.
Added
get_user_permissions()method to mirror the existingget_group_permissions()method.Cuireadh tréith HTML
autocompletele giuirléidí réimsí ainm úsáideora, ríomhphoist agus pasfhocal in:mod: django.contrib.auth.forms le haghaidh idirghníomhaíochta níos fearr le bainisteoirí pasfhocal brabhsálaí.createsuperusernow falls back to environment variables for password and required fields, when a corresponding command line argument isn't provided in non-interactive mode.REQUIRED_FIELDSnow supportsManyToManyFields.Tugann an modh nua:meth: .userManager.with_perm ar ais úsáideoirí a bhfuil an cead sonraithe acu.
Méadaítear an líon athraithe réamhshocraithe don hasher pasfhocal PBKDF2 ó 150,000 go 180,000.
django.contrib.gisLink to this heading
Ceadaíodh feidhmeanna cuardaigh spásúla MySQL oibriú ar ghéiméadracha fíor. Bhí tacaíocht roimhe seo teoranta do bhosca teorainneacha.
Cuireadh an fheidhm: class: ~django.contrib.gis.db.models.functions.geometryDistance leis, le tacaíocht ar PostGIS.
Tacaíocht bhreise don aonad
furlongin:class: ~django.contrib.gis.Measure.distance.Tacaíonn an socrú: SETTING: GEOIP_PATH anois:class: Pathlib.path.
Glacann an rang:class: ~django.contrib.gis.geoip2.geoip2 anois:class: Pathlib.path
pathlib.path` ``path.
django.contrib.postgresLink to this heading
Cuidíonn an nua:class: ~django.contrib.postgres.fields.rangeOperators le clóscríobh in oibreoirí SQL a sheachaint ar féidir a úsáid le chéile le:class: ~django.contrib.postgres.fields.rangefield.
Léiríonn an léiriú nua:class: ~django.contrib.postgres.fields.rangeBoundary teorainneacha na raon.
Ceadaíonn na ranganna nua:class: ~django.contrib.postgres.operations.addIndexConcurrently agus:class: ~django.contrib.postgres.operations.removeIndexConcurrently innéacsanna CONCURRENTLY a chruthú agus a scaoileadh ar PostgreSQL.
django.contrib.sessionsLink to this heading
The new
get_session_cookie_age()method allows dynamically specifying the session cookie age.
CacheLink to this heading
add_never_cache_headers()andnever_cache()now add theprivatedirective toCache-Controlheaders.
Stóráil ComhadLink to this heading
Ligeann an modh nua:meth: .storage.get_alternative_name an algartam a shaincheapadh chun ainmneacha comhaid a ghiniúint má tá comhad leis an ainm uaslódáilte ann cheana féin.
FoirmeachaLink to this heading
Formsets may control the widget used when ordering forms via
can_orderby setting theordering_widgetattribute or overridingget_ordering_widget.
IdirnáisiúnúLink to this heading
Cuireadh sean:setting: LANGUAGE_COOKIE_HTTPONLY, :setting: LANGUAGE_COOKIE_SAMESITE, agus:setting: LANGUAGE_COOKIE_SECURE socruithe chun na bratacha HTTPONLY`, SAMESITE`, agus
Securea shocrú ar fhianáin teanga. Coinníonn luachanna réamhshocraithe na socruithe seo an t-iompar roimhe seo.Tacaíocht agus aistriúcháin leis an teanga Úsbéiceach.
LogáilLink to this heading
Ligeann paraiméadar nua
reporter_classde:class: ~django.utils.log.adminEmailHandler fo-aicmedjango.views.debug.exceptionReportera sholáthar chun an téacs rianaithe a sheoltar chuig an suite:setting: ADMINS a shaincheapadh: False.
Orduithe BainistíochtaLink to this heading
Ceadaíonn an rogha nua:option: compilemessages --ignore neamhaird a dhéanamh ar eolairí ar leith agus tú ag cuardach comhaid ``.po ``le tiomsú.
showmigrations --listnow shows the applied datetimes when--verbosityis 2 and above.Ar PostgreSQL, tacaíonn: djadmin: dbshell le deimhnithe TLS ar thaobh an chliaint anois.
: djadmin: inspectdb anois introspects:class: ~django.db.models.onetoonefield nuair a bhíonn srian eochair uathúil nó príomhúil ag eochair eachtrach.
Sceapann an rogha nua:option: --skip-checks seiceálacha córais a reáchtáil sula ndéantar an t-ordú a reáchtáil.
Tacaíonn na roghanna: rogha: startapp --template agus:option: startproject --template le teimpléid atá stóráilte i gcartlann XZ (.tar.xz`, .txz`) agus cartlanna LZMA (.tar.lz`, .tlz`).
SamhlaLink to this heading
Feidhmeanna bunachar sonraí hash breise:class: ~django.db.models.functions.md5, :class: ~django.db.models.functions.sha1, :class: ~django.db.models.functions.sha224, :class: ~django.db.models.models.256, :class: ~django.db.models.models.S.SHA384, agus:aicme: ~Django.db.Models.Functions.SHA512.
Cuireadh feidhm bunachar sonraí: class: ~django.db.models.functions.sign leis.
Cinneann paraiméadar nua
is_dstden fheidhmeanna bunachar sonraí :class: ~django.db.Models.Functions.trunc cóireáil dáta nach bhfuil ann agus débhríoch.Taispeánann
connection.queriesráitis ``COPY... TO` anois ar PostgreSQL.FilePathFieldnow accepts a callable forpath.Tábla idirmheánach siméadrach ceadaithe le haghaidh féin-tagartha: aicme: ~ Django.db.Models.manyToManyField.
Tacaíonn na tréithe
namede:class: ~Django.db.Models.CheckConstraint, :class: ~django.db.Models.UniqueConstraint, agus:class: ~django.db.models.index anois le lipéad aip agus idirghabháil ranga ag baint úsáide as% (app_label) s'agus ``% (class) “sealbhóirí áiteanna.The new
Field.descriptor_classattribute allows model fields to customize the get and set behavior by overriding their descriptors.Cuireadh leis: Class: ~Django.db.Models.SmallAutoField a ghníomhaíonn go leor cosúil:class: ~django.db.models.autofield ach amháin nach gceadaíonn sé ach luachanna faoi theorainn áirithe (atá ag brath ar bhunachar sonraí). Tá luachanna ó
1go 32767` sábháilte i ngach bunachar sonraí a thacaíonn Django.AutoField,BigAutoField, andSmallAutoFieldnow inherit fromIntegerField,BigIntegerFieldandSmallIntegerFieldrespectively. System checks and validators are now also properly inherited.FileField.upload_tonow supportspathlib.Path.CheckConstraintis now supported on MySQL 8.0.16+.Ceadaíonn an modh nua
allows_group_by_selected_pks_on_model () ```django.db.backends.base.baseDatabaseFeaturesbarrfheabhsú clásailGROUP BYnach dteastaíonn ach príomheochracha na samhlacha roghnaithe. De réir réamhshocraithe, ní thacaítear leis ach do mhúnlaí bainistithe ar PostgreSQL.Chun an barrfheabhsú eochair príomhúil
GROUP BYa chumasú do mhúnlaí neamhbhainistithe, caithfidh tú inneall bunachar sonraí PostgreSQL a fho-aicmiú, ag cur an modh aicme `allows_group_by_selected_pks_on_model () ``mar is gá duit. <subclassing-database-backends>Féach: tagairt: `Fo-aicmiú na gcúltaca bunachar sonraí ionsuite `mar shampla.
Iarrataí agus FreagraíLink to this heading
Ceadaíodh: aicme: ~django.http.httpResponse a thionscnamh le hábhar: class: memoryview.
Le húsáid i, mar shampla, teimpléid Django, ceadaíonn: attr: .httpRequest.headers cuardach anois ag baint úsáide as béim (m.sh.
user_agent) in ionad idirlíochtaí.
SlándáilLink to this heading
X_FRAME_OPTIONSnow defaults to'DENY'. In older versions, theX_FRAME_OPTIONSsetting defaults to'SAMEORIGIN'. If your site uses frames of itself, you will need to explicitly setX_FRAME_OPTIONS = 'SAMEORIGIN'for them to continue working.SECURE_CONTENT_TYPE_NOSNIFFnow defaults toTrue. With this enabled,SecurityMiddlewaresets the Roghanna Cineál-Ábhar X-: nosniff header on all responses that do not already have it.<referrer-policy>:class: ~django.middleware.security.securityMiddleware is féidir leis an gceannteideal: ref: `Referrer-Policy `a sheoladh anois.
TástálachaLink to this heading
Ceadaíonn an t-argóint nua tástála:class: ~django.test.client
raise_request_exceptionrialú cibé an chóir eisceachtaí a ardaíodh le linn an iarratais a ardú sa tástáil freisin. Tá an luach réamhshocraithe goTruele haghaidh comhoiriúnacht ar ais. Más “False” é agus má tharlaíonn eisceacht, cuirfidh an cliant tástála freagra 500 ar ais leis an tréith: attr: ~django.test.response.exc_info, tuple a sholáthraíonn faisnéis faoin eisceacht a tharla.Is féidir tástálacha agus cásanna tástála atá le reáchtáil a roghnú de réir patrún ainm tástála ag baint úsáide as an rogha nua: rogha: test -k.
Déileálann comparáid HTML, mar a úsáideann: meth: ~django.test.simpletestCase.assertMMleQual anois téacs, tagairtí carachtair, agus tagairtí eintiteas a thagraíonn don charachtar céanna mar choibhéis.
DiscoverRunnercan now spawn a debugger at each error or failure using thetest --pdboption.
Athruithe neamh-chomhoiriúnacha ar ais i 3.0Link to this heading
``Model.save () ``nuair a sholáthraíonn sé réamhshocraithe don phríomh-eochairLink to this heading
Model.save() no longer attempts to find a row when saving a new
Model instance and a default value for the primary key is provided, and
always performs a single INSERT query. In older Django versions,
Model.save() performed either an INSERT or an UPDATE based on
whether or not the row exists.
<ref-models-force-insert>Déanann sé seo glaoch ar Model.save () ``agus eochairluach réamhshocraithe a sholáthraítear comhionann le passing:ref: `force_insert=True `go `save () an tsamhail. Beidh “IntegrityError” mar thoradh ar iarrachtaí sampla nua ``Samhail ``a úsáid chun an tsraith atá ann cheana a nuashonrú.
D'fhonn samhail atá ann cheana a nuashonrú le haghaidh príomhluach sonrach, bain úsáid as an modh: meth: ~django.db.models.query.queryset.update_or_create nó ``QuerySet.Filter (pk=...) .update (...) `ina ionad. Mar shampla:
>>> MyModel.objects.update_or_create(pk=existing_pk, defaults={"name": "new name"})
>>> MyModel.objects.filter(pk=existing_pk).update(name="new name")
API cúltaca bunachar sonraíLink to this heading
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í.
Is é an dara argóint de
DatabaseIntrospection.get_geometry_type ()anois an cur síos sraithe in ionad ainm an cholúin.DatabaseIntrospection.get_field_type ()ní fhéadfaidh tuples a thabhairt ar ais a thuilleadh.Más féidir leis an mbunachar sonraí eochracha eachtracha a chruthú sa ráiteas SQL céanna a chuireann réimse leis, cuir
schemaEditor.sql_create_column_inline_fkleis an SQL cuí; ar shlí eile, socraighdatabaseFeatures.can_create_inline_fk = False.Athainmnítear
databaseFeatures.can_Return_id_from_insertaguscan_return_ids_from_bulk_insertgocan_return_columns_from_insertaguscan_return_rows_from_bulk_insert.Láimhseálann feidhmeanna bunachar sonraí anois formáidí: class: datetime.timezone nuair a chruthaítear ag baint úsáide as cásanna: class: datetime.timedelta (m.sh. timezone (timedelta (hours=5)) `, a d'aschur
UTC+ 05:00 '`). Ba chóir go ndéanfadh cúltaca tríú páirtí an fhormáid seo a láimhseáil agus iad ag ullmhú: class: `~django.db.models.DateTimeField` i ``datetime_cast_date_sql () ``, `datetime_extract_sql (), srl.Cuirtear iontrálacha le haghaidh
AutoField,BigAutoField, agusSmallAutoFieldleDatabaseOperations.integer_field_rangeschun tacú leis na bailíochtaithe raon slánuimhreacha ar na cineálacha réimse seo. Seans go mbeidh ar innill tríú páirtí na hiontrálacha réamhshocraithe a shaincheapadh.Cuirtear
fetch_returned_insert_column () ``in ionad `databaseOperations.fetch_returned_insert_id ()a thugann liosta luachanna ar ais ag an ráiteasINSERT... RETURNING, in ionad luach amháin.Cuirtear
return_insert_columns()in ionadDatabaseOperations.return_insert_id()a ghlacann le hargóintréimsí, ar féidir é a chur ar ais aríst réimsí tar éis é a chur isteach. De ghnáth, níl anseo ach an eochair bhunscoile uathghinte.
django.contrib.adminLink to this heading
Is fearr le teachtaireachtaí athraithe stair samhail Riaracháin lipéid réimse níos inléite anois seachas ainmneacha réimse.
django.contrib.gisLink to this heading
Baintear tacaíocht do PostGIS 2.1.
Baintear tacaíocht do SpatiaLite 4.1 agus 4.2.
Baintear tacaíocht do GDAL 1.11 agus GEOS 3.4.
Tacaíocht titim do PostgreSQL 9.4Link to this heading
Críochnaíonn tacaíocht suas srutha do PostgreSQL 9.4 i mí na Nollag 2019. Tacaíonn Django 3.0 le PostgreSQL 9.5 agus níos airde.
Tacaíocht titim do Oracle 12.1Link to this heading
Críochnaíonn tacaíocht suas srutha do Oracle 12.1 i mí Iúil 2021. Tacófar le Django 2.2 go dtí Aibreán 2022. Tacaíonn Django 3.0 go hoifigiúil le Oracle 12.2 agus 18c.
API comhoiriúnachta príobháideacha Python 2Link to this heading
Cé gur baineadh tacaíocht Python 2 i Django 2.0, níor baineadh roinnt APIs príobháideacha ó Django ionas go bhféadfadh aipeanna tríú páirtí leanúint ar aghaidh ag úsáid iad go dtí deireadh saoil Python 2.
Ós rud é go bhfuilimid ag súil go laghdóidh apps comhoiriúnacht Python 2 agus tacaíocht á cur le Django 3.0, táimid ag baint na APIs seo faoi láthair.
``django.test.utils.str_prefix () ``- Níl réamhfhoirmeacha 'u' ag teaghráin i Python 3.
``django.test.utils.patch_logger () ``- Úsáid: Meth: UnitTest.TestCase.AssertLogs ina ionad.
``django.utils.lru_cache.lru_cache () ``- Alias de:func: functools.lru_cache.
django.utils.decorators.available_attrs () ``- Tugann an fheidhm seo ``Functools.wrapper_assignments.Django.Utils.Decorators.ContextDecorator- Alias de:aicme: ContextLib.ContextDecorator.``django.utils. _os.abspathu () ``- Ainm aith:func: os.path.abspath.
django.utils. _os.upath () ``agus ``npath ()- Ní dhéanann na feidhmeanna seo aon rud ar Python 3.django.utils.six- Bain úsáid as an leabharlann seolta seo nó aistrigh chu:pypi: six.django.utils.encoding.python_2_unicode_compatible () ``- Alias de ``six.python_2_unicode_compatible ().``django.utils.functional.curry () ``- Úsáid: Func: functools.partial nó:class: functools.partialmethod. Féach: commit: 5b1c389603a353625ae1603ba345147356336afb.
Django.Utils.SafeString.SafeBytes- Gan úsáid ó Django 2.0.
Luach réamhshocraithe nua don socrú FILE_UPLOAD_PERMISSIONSLink to this heading
I leaganacha níos sine, socraíonn an:setting: FILE_UPLOAD_PERMISSIONS réamhshocraithe go None. Leis an réamhshocraithe:setting: FILE_UPLOAD_HANDLERS, mar thoradh air seo tá ceadanna difriúla ag comhaid uaslódáilte ag brath ar a méid agus cén láimhseálaí uaslódála a úsáidtear.
Tá FILE_UPLOAD_PERMISSIONS réamhshocraithe anois go 0o644 chun an neamhréireacht seo a sheachaint.
Luachanna réamhshocraithe nua le haghaidh socruithe slLink to this heading
Chun tionscadail Django a dhéanamh níos sláine de réir réamhshocraithe, tá luachanna réamhshocraithe níos sláine ag roinnt socruithe slándála anois:
X_FRAME_OPTIONSnow defaults to'DENY'.SECURE_CONTENT_TYPE_NOSNIFFnow defaults toTrue.
Féach an Cad atá nua:Ref: `Slándála roinn <whats-new-security-3.0>`thuas le haghaidh tuilleadh sonraí faoi na hathruithe seo.
IlghnéitheachLink to this heading
Cineál ábhair. Cuimsíonn __str__ () ````app_labelan tsamhail anois chun samhlacha leis an ainm céanna a dhíbhriú in aipeanna éagsúla.Toisc go bhfuil rochtain a fháil ar an teanga sa seisiún seachas sa fhianán, ní chuireann
LocalEmiddlewareag lorg teanga an úsáideora sa seisiún a thuilleadh agus: func: django.contrib.auth.logout ní chaomhníonn teanga an tseisiúin a thuilleadh tar éis logáil amach.django.utils.html.escape()now useshtml.escape()to escape HTML. This converts'to'instead of the previous equivalent decimal code'.<unittest.-k>Oibríonn an rogha
django-admin test -kanois mar an rogha: rogha: unittest -k seachas mar aicearra do--keepdb.Baintear tacaíocht do
pywatchman<1.2.0.urlencode()now encodes iterable values as they are whendoseq=False, rather than iterating them, bringing it into line with the standard libraryurllib.parse.urlencode()function.Aistríonn scagaire teimpléad
intword` anois ``1.0mar abairt uaineach agus gach luach uimhriúil eile mar iolra. D'fhéadfadh sé seo a bheith mícheart i gcás roinnt teangacha.Déanann luach a shannadh do mhúnla 's:class: ~django.db.models.foreignKey nó:class: ~django.db.models.onetoonefield
`_id'tréith an réimse comhfhreagrach anois. Beidh ceist mar thoradh ar rochtain a fháil ar an réimse ina dhiaidh sin.patch_vary_headers()now handles an asterisk'*'according to RFC 7231 Section 7.1.4, i.e. if a list of header field names contains an asterisk, then theVaryheader will consist of a single asterisk'*'.Ar MySQL 8.0.16+, cuimsíonn
PositiveIntegerFieldagusPositiveSmallIntegerFieldsrian seiceála anois chun luachanna diúltacha sa bhunachar sonraí a chosc.Cuirtear
Alias=Noneleis an síniú de:meth: .expression.get_group_by_cols.Ní thuilleann
RegExPattern, a úsáid:func: ~django.urls.re_path, argóintí eochairfhocal le luachanna ``None ``le cur chuig an amharc do na grúpaí ainmnithe roghnacha atá in easnamh.
Gnéithe atá díscríofa i 3.0Link to this heading
django.utils.encoding.force_text () ``agus ``smart_text ()Link to this heading
Tá na hainmneacha smart_text () ``agus ``force_text () (ó Django 2.0) de smart_str () ``agus ``force_str () a dhíchur. Déan neamhaird ar an díghabháil seo má thacaíonn do chód le Python 2 toisc go bhfuil iompar smart_str () ``agus ``force_str () difriúil ansin.
IlghnéitheachLink to this heading
Tá
django.utils.http.urlquote () ``, `urlquote_plus (), urlunquote () `, agusurlunquote_plus ()díluchtaithe i bhfabhar na bhfeidhmeanna is ainmneacha iad le haghaidh: :func: urllib.parse.quote, :func: ~urllib.parse.quote, :func: ~urllib.parse.quote .quote_plus`, :func: ~urllib.parse.unquote, agus:func: ~urllib.parse.unquote_plus.Tá
django.utils.translation.ugettext () ``, ``ugettext_lazy (), ugettext_noop () `,ungettext (), agus ``ungettext_lazy () ``díluaite i bhfabhar na bhfeidhmeanna gur ainmneacha iad le haghaidh: :func: tils.django.utranslation.gettext, :func: ~django.utils.translation.gettext_lazy, :func: ~django.utils.translation.gettext_noop, :func: ~django.utils.translation.ngettext, agus:func: ~django.utils.translation.nget_textlazy.Chun cruthú seisiúin a theorannú agus dá bhrí sin roinnt straitéisí caching a fhabhrú, stopfaidh: func: django.views.i18n.set_language ag socrú teanga an úsáideora sa seisiún i Django 4.0. Ó Django 2.1, stóráiltear an teanga i gcónaí sa fhianán: setting: LANGUAGE_COOKIE_NAME.
Tá
django.utils.text.unescape_entity () ``a dhíchur i bhfabhar :func: `html.unescape`. Tabhair faoi deara go ndéanann ``unescape_entity () ``, `html.unescape ()measúnú ar teaghráin leisciúil láithreach.Chun mearbhall féideartha maidir le raon feidhme éifeachtach a sheachaint, athainmnítear an fóntais inmheánach príobháideach
is_safe_url () ``go `url_has_allowed_host_and_scheme (). Ní thugann sé le tuiscint go ginearálta go bhfuil óstach agus scéim ceadaithe ag URL go bhfuil sé “sábháilte”. Féadfar é a lua go mícheart fós, mar shampla. Déan cinnte go n-úsáidtear freisin: func: ~django.utils.encoding.iri_to_uri ar chomhpháirt cosán URLanna neamhiontaofa.
Gnéithe bainte i 3.0Link to this heading
Tá na gnéithe seo tar éis deireadh a dtimthriall díscrúdaithe bainte amach agus baintear iad i Django 3.0.
Féach: Ref: deprecated-features-2.0 le haghaidh sonraí faoi na hathruithe seo, lena n-áirítear conas úsáid na ngnéithe seo a bhaint.
Baintear an modúl
django.db.backends.postgresql_psycopg2.Baintear an socrú
DEFAULT_CONTENT_TYPE.Baintear tacaíocht don argóint
contextde Field.from_DB_VALUE () ``agus ``Expression.convert_VALUE ()`.Baintear an argóint eochairfhocal
field_namede QuerySet.early () ``agus ``latest ()`.
Féach: Ref: deprecated-features-2.1 le haghaidh sonraí faoi na hathruithe seo, lena n-áirítear conas úsáid na ngnéithe seo a bhaint.