Nótaí scaoileadh Django 4.1Link to this heading
3 Lúnasa, 2022
Fáilte go dtí Django 4.1!
Clúdaíonn na nótaí scaoilte seo na:ref: gnéithe nua <whats-new-4.1>, chomh maith le roinnt athruithe: ref: athruithe neamh-chomhoiriúnacha ar ais<backwards-incompatible-4.1> beidh tú ag iarraidh a bheith ar an eolas fúthu agus tú ag uasghrádú ó Django 4.0 nó níos luaithe. <deprecated-features-4.1>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 PythonLink to this heading
Tacaíonn Django 4.1 le Python 3.8, 3.9, 3.10, agus 3.11 (amhail 4.1.3). 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 4.1Link to this heading
Láimhseálaithe asincrónacha le haghaidh tuairimí rang-bhunaitheLink to this heading
Féadfaidh féachaint ar fho-aicmí láimhseálaithe modh HTTP async a shainiú anois:
import asyncio
from django.http import HttpResponse
from django.views import View
class AsyncView(View):
async def get(self, request, *args, **kwargs):
# Perform view logic using await.
await asyncio.sleep(1)
return HttpResponse("Hello async world!")
Féach: ref: async-class-based-views le haghaidh tuilleadh sonraí.
Comhéadan ASINCRONACH ORMLink to this heading
Soláthraíonn QuerySet ``comhéadan asincrónach anois do gach oibríocht rochtana sonraí. Ainmnítear iad seo de réir na n-oibríochtaí sioncrónacha atá ann cheana ach le réimír ``a, mar shampla acreate () ``, `aget (), agus mar sin de.
Ligeann an comhéadan nua duit cód asincrónach a scríobh gan gá d'oibríochtaí ORM a fhilleadh i sync_to_async () `:
async for author in Author.objects.filter(name__startswith="A"):
book = await author.books.afirst()
Tabhair faoi deara, ag an gcéim seo, go bhfanann na hoibríochtaí bunúsacha bunachar sonraí sioncrónach, agus ranníocaíochtaí leanúnach ar aghaidh chun tacaíocht asincrónach a bhrú síos isteach sa thiomsaitheoir SQL, agus tiománaithe bunachar sonraí asincr Cuimsíonn an comhéadan nua ceisteanna asincrónach na hoibríochtaí riachtanacha ``sync_to_async () `duit faoi láthair, agus ligfidh sé do chód leas a bhaint as forbairtí i dtacaíocht asincrónach an ORM de réir mar a fhorbraíonn sé.
Féach: ref: async-queries le haghaidh sonraí agus teorainneacha.
Bailíochtú SriantaLink to this heading
<django.db.models.Options.constraints><validating-objects>:class: Seiceáil `, :class: `uath <django.db.models.CheckConstraint>úil, agus:class: eisiamh <django.db.models.UniqueConstraint>`srianta atá sainmhínithe sa roghnaí: <django.contrib.postgres.constraints.ExclusionConstraint>attr: `Meta.Constraints déantar seiceáil anois trí:ref: `bailíochtú samhail `.
Inrochtaineacht rindreálaLink to this heading
Chun cabhrú le húsáideoirí le léitheoirí scáileáin, agus le teicneolaíocht chúnta eile, tá teimpléid foirm nua bunaithe ar <div> ar fáil ón eisiúint seo. Soláthraíonn siad seo nascleanúint níos inrochtana ná na teimpléid níos sine, agus tá siad in ann rialuithe gaolmhara, mar raidió-liostaí, a ghrúpáil i gceart i dtaca le réimsí páirce.
Moltar na teimpléid nua, agus beidh siad ina stíl rindreála foirme réamhshocraithe agus foirm á aschur, cosúil le ``{{form}} `i dteimpléad, ó Django 5.0.
D'fhonn glacadh leis an stíl aschuir nua a éascú, tá na teimpléid réamhshocraithe foirme agus foirmeacha inchumraithe anois ag leibhéal an tionscadail tríd an socrú: setting: FORM_RENDER.
Féach: Tagairt: `an chuid Foirmeacha (thíos) <forms-4.1>`le haghaidh sonraí iomlána.
MionghnéitheLink to this heading
django.contrib.adminLink to this heading
Cuirtear na hathróga CSS modh dorcha admin: ref: i bhfeidhm anois i <admin-theming>mbileog stíl agus i mbloc teimpléad ar leithligh.
ModelAdmin Scagairí Liosta providing custom
FieldListFiltersubclasses can now control the query string value separator when filtering for multiple values using the__inlookup.Tá an admin:meth: `amharc stair <django.contrib.admin.ModelAdmin.history_view>`leathanaigh anois.
Tá nasc anois ag fillteáin giuirléidí gaolmhara le foirm athraithe réad.
Ceadaíonn an modh: Meth: .adminsite.get_app_list anois ord na n-aipeanna agus na samhlacha a athrú ar an leathanach innéacs riaracháin.
django.contrib.authLink to this heading
Méadaítear an líon athraithe réamhshocraithe don hasher pasfhocal PBKDF2 ó 320,000 go 390,000.
Ceadaíonn an modh: Meth: .remoteUserBackend.configure_user anois tréithe úsáideora a shioncronú le tréithe i gcóras iargúlta mar eolaire LDAP.
django.contrib.gisLink to this heading
django.contrib.postgresLink to this heading
Tugann an fheidhm chomhiomlán nua:class: BitXor () <django.contrib.postgres.aggregates.BitXor>``int` den XOR` bitwise de na luachanna ionchuir neamh-null go léir.
SpGistIndexnow supports covering indexes on PostgreSQL 14+.ExclusionConstraintnow supports covering exclusion constraints using SP-GiST indexes on PostgreSQL 14+.<django.contrib.postgres.fields.DateTimeRangeField.default_bounds><django.contrib.postgres.fields.DecimalRangeField.default_bounds>Ceadaíonn an tréith nua ``default_limits ``de:attr: DateTimeRangeField `agus:attr: `DecimalRangeField teorainneacha a shonrú le haghaidh ionchuir liosta agus tuple.
<django.contrib.postgres.indexes.OpClass>:class: ~django.contrib.postgres.restricints.ExclusionConstraint ceadaíonn anois ranganna oibreora a shonrú leis an abairt: class: `opClass () `.
django.contrib.sitemapsLink to this heading
Áiríonn an teimpléad réamhshocraithe innéacs léarscáil an láithreáin `` <sitemapindex>`` an stampa ama `` <lastmod>`` anois má tá sé ar fáil, tríd an modh nua
get_latest_lastmod(). Ba cheart teimpléid innéacs léarscáileanna suímh saincheaptha a nuashonrú le haghaidh na n-athróg coigeartaithe context.
django.contrib.staticfilesLink to this heading
ManifestStaticFilesStoragenow replaces paths to CSS source map references with their hashed counterparts.
Cúltaca bunachar sonraíLink to this heading
Is féidir le cúltaca bunachar sonraí tríú páirtí an leagan íosta riachtanach den bhunachar sonraí a shonrú anois ag baint úsáide as an tréith
databaseFeatures.MINIMUM_DATABASE_VERSIONatá tuple (m.sh. ciallaíonn(10, 0)“10.0"). Má shonraítear leagan íosta, ní mór do chúltacaDatabaseWrapper.get_database_version () `a chur i bhfeidhm freisin, a thugann tuple den leagan reatha bunachar sonraí. Caithfidh modh ``DatabaseWrapper.init_CONNECTION_STATE () ``sa chúlcheann ``super ()glaoch ar ```super () ``d'fhonn an seiceáil a rith.
FoirmeachaLink to this heading
Tá an teimpléad réamhshocraithe a úsáidtear chun foirmeacha a rinneadh nuair a chaitheadh chuig teaghrán, m.sh. i dteimpléid mar
{{form}}, inchumraithe ag leibhéal an tionscadail anois trí shocting:attr: ~django.forms.renderers.baserenderer.form_template_name ar an rang a chuirtear ar fáil d':setting: FORM_RENDER.Form.template_nameis now a property deferring to the renderer, but may be overridden with a string value to specify the template name per-form class.Ar an gcaoi chéanna, is féidir an teimpléad réamhshocraithe a úsáidtear chun foirmeacha a rindreáil a shonrú tríd an tréith renderer matching:attr: ~django.forms.renderers.baserenderer.formset_template_name.
<div>An teimpléad foirme nua
div.html, tagairt:attr: .form.template_name_div tréith, agus modh comhoiriúnaithe:meth: .form.as_div, déanann foirmeacha ag baint úsáide as eilimintí HTML ```.<fieldset><legend>Moltar an stíl aschuir nua seo thar na stíleanna: meth: ~.form.as_table, :meth: ~.form.as_p agus:meth: ~.form.as_ul atá ann, de réir mar a chuireann an teimpléad ```` agus ```i bhfeidhm chun ionchuir gaolmhara a ghrúpa agus tá sé níos éasca d'úsáideoirí léitheoirí scáileáin nascleanúint a dhéanamh.
Beidh an t-aschur div-bhunaithe mar stíl rindreála réamhshocraithe ó Django 5.0.
D'fhonn glacadh go réidh leis an <div>stíl aschuir nua
`, tá dhá aicme idirthréimhseacha ar fáil: ``django.forms.renderers.djangodivFormRendereragusdjango.forms.renderers.jinja2divFormRenderer, le haghaidh cúltaca teimpléad Django agus Jinja2 faoi seach.Is féidir leat ceann díobh seo a chur i bhfeidhm tríd an socrú:setting: FORM_RENDER. Mar shampla:
FORM_RENDERER = "django.forms.renderers.DjangoDivFormRenderer"Chomh luath agus <div>is é an stíl aschuir
an réamhshocraithe, ó Django 5.0, cuirfear na léiritheoirí idirthréimhseacha seo a dhíchur, lena bhaint i Django 6.0. Is féidir an dearbhú `FORM_RENDERa bhaint ag an am sin.Mura bhfuil an <div>stíl aschuir nua ``oiriúnach do do thionscadal, ba cheart duit fo-aicme renderóra a shainmhíniú:attr: `~django.forms.renderers.baserenderer.form_template_name agus:attr: ~django.forms.renderers.baserenderer.formset_template_name don stíl riachtanach, agus socraí:setting: FORM_RENDERER` dá réir sin.
Mar shampla, maidir leis an <p>stíl aschuir ```` a úsáideann:: ~.form.as_p, sainmhíneoidh tú rindreoir foirme ag socrú
form_template_namego” django/forms/p.html “agusformset_template_namego” django/forms/formsets/p.html “.<legend>Ceadaíonn an nua:meth: ~django.forms.boundfield.legend_tag lipéid réimse a rindreáil i gclibeanna ```` tríd an argóint nua
tagde:meth: ~django.forms.boundfield.label_tag.Ceadaíonn an argóint nua
edit_onlyle haghaidh: func: .modelformset_factory agus:func: .inlineformset_factory cruthú rudaí nua a chosc.Ceadaíonn tréithe aicme js` agus css` de:doc: Meáin `anois rudaí hashable a úsáid, ní amháin teaghráin cosáin, chomh fada agus a chuireann na rudaí sin an modh ``__html__ () ``i bhfeidhm (de ghnáth nuair a bhíonn maisithe leis an maisitheoir: func: `~django.u</topics/forms/media> tils.html_safe).
<fieldset><legend>Cuidíonn na tréithe nua:attr: .boundfield.use_fieldSet agus:attr: .widget.use_fieldSet le giuirléidí a aithint inar chóir a ionchuir a ghrúpáil i ```` le ````.
Ceadaíonn an argóint:ref: formsets-error-teachtaireachtaí do:class: `~django.forms.formsets.baseformset teachtaireachtaí earráide a shaincheapadh le haghaidh líon neamhbhailí foirmeacha trí eochracha ``too_few_forms' agus ``too_many_forms' a rith.
IntegerField,FloatField, andDecimalFieldnow optionally accept astep_sizeargument. This is used to set thestepHTML attribute, and is validated on form submission.
IdirnáisiúnúLink to this heading
Tacaíonn an fheidhm:func: ~django.conf.urls.i18n.i18n_patterns le teangacha anois le scripteanna agus réigiúin araon.
Orduithe BainistíochtaLink to this heading
makemigrations --no-inputnow logs default answers and reasons why migrations cannot be created.Déanann an rogha nua:option: makemigrations --scriptable aschur log agus leideanna ionchuir a atreorú chuig
stderr, agus ní scríobhann ach cosáin de chomhaid imirce ginte chuigstdout.Ceadaíonn an rogha nua:option: migration --prune 'imirce nach bhfuil ann a scriosadh ón tábla ``django_migrations`.
Déantar comhaid Python a chruthaí:djadmin: startproject, :djadmin: startapp, :djadmin: optimisation `, :djadmin: `makemigrations, agus:djadmin: squashmigrations a fhormáidiú anois ag baint úsáide as an ordú
blackmá tá sé i láthair ar do PATH`.Ligeann an t-ordú nua:djadmin: optimisation emigration oibríochtaí a bharrfheabhsú le haghaidh imirce.
ImirceLink to this heading
<django.db.models.Options.indexes>Ceadaíonn an oibríocht nua:class: ~django.db.migrations.operations.RenameIndex innéacsanna a athainmniú atá sainmhínithe sna roghanna: attr: Meta.Indexes `nó ``index_together `.
<django.db.models.Options.indexes>Gineann an autodetector imirce anois:class: ~django.db.migrations.Operations.RenameIndex oibríochtaí in ionad
removeIndexagus AddIndex`, nuair a athainmníonn innéacsanna atá sainmhínithe in:attr: `Meta.Indexes `.<django.db.models.Options.indexes>Gineann an autodetector imirce anois:class: ~django.db.migrations.operations.RenameIndex oibríochtaí in ionad
AlterIndexTogetheragus AddIndex`, agus innéacsanna sainmhínithe sa Meta.index_Together` á bhogadh chuig an: attr: Meta.index.
SamhlaLink to this heading
Glacann an abairt
order_byden: class: ~django.db.Models.Expressions.Window tagairtí teaghráin do réimsí agus athraitheann sé anois.Ceadaíonn an socrú nua:setting: CONN_HEALTH_CHECKS seiceálacha sláinte a chumasú le haghaidh: ref: `naisc bunachar sonraí leanúnacha `d'f <persistent-database-connections>honn líon na n-iarrataí a theip a laghdú, m.sh. tar éis freastalaí bunachar sonraí a atosú.
QuerySet.bulk_create()now supports updating fields when a row insertion fails uniqueness constraints. This is supported on MariaDB, MySQL, PostgreSQL, and SQLite 3.24+.QuerySet.iterator()now supports prefetching related objects as long as thechunk_sizeargument is provided. In older versions, no prefetching was done.Qobjects and querysets can now be combined using^as the exclusive or (XOR) operator.XORis natively supported on MariaDB and MySQL. For databases that do not supportXOR, the query will be converted to an equivalent usingAND,OR, andNOT.Ceadaíonn an tréith nua:ref: `Field.non_DB_Attrs <custom-field-non_db_attrs>`tréithe réimsí a shaincheapadh nach mbíonn tionchar acu ar shainmhíniú colún.
Ar PostgreSQL, cruthaítear
Autofield, BigAutoField`, agus ``SmallAutofield ``anois mar cholúin aitheantais seachas colúin sraitheacha le seicheamh.
Iarrataí agus FreagraíLink to this heading
HttpResponse.set_cookie()now supportstimedeltaobjects for themax_ageargument.
SlándáilLink to this heading
Ligeann an socrú nua:setting: SECRET_KEY_FALLBACKS liosta luachanna a sholáthar le haghaidh rothlú eochair rúnda.
Tacaíonn an socrú: SETTING: SECURE_PROXY_SSL_HEADER anois le liosta prótacail scartha le camóg sa luach ceannteidil.
ComharthaíLink to this heading
Seolann na comharthaí: ~django.db.models.signals.pre_delete agus:data: ~django.db.models.signals.post_delete ``origin` an scriosadh anois.
TeimpléidLink to this heading
Ní theastaíonn an tréith HTML <script>```` `` a thuilleadh agus an scagaire teimpléad:tfilter: json_script á timfhilleadh.
<TEMPLATES-OPTIONS>Tá an: class: lódóir teimpléad taisceáilte <django.template.loaders.cached.Loader>`cumasaithe anois i bhforbairt, nuai:socrú: `DEBUG
True, agus:socrú: OPTIONS ['luchtóirí'] ní shonraítear. Féadfaidh tú ``OPTIONS ['loader'] ``a shonrú chun é seo a shárú, más gá.
TástálachaLink to this heading
Tacaíonn an:class: .DiscoverRunner anois le tástálacha reatha go comhthreomhar ar macOS, Windows, agus aon chórais eile ina bhfuil an modh tosaithe réamhshocraithe: mod: multiprocessing
spawn.Ardaíonn bloc adamhach neadaithe atá marcáilte mar bhuan in:class: django.test.testcase
RuntimeErroranois, mar an gcéanna le lasmuigh de na tástálacha.<django.test.SimpleTestCase.assertFormSetError>:meth: .simpletestCase.assertForError agus:meth: `AssertFormSetError () `tacaíonn anois le réad foirme/formset a rith go díreach.
URLannaLink to this heading
Stórálann an tréith nua:attr: .resolvermatch.captured_kwargs na hargóintí eochairfhocal gabháilte, mar a pháirsítear ón URL.
Stórálann an tréith nua:attr: .resolvermatch.extra_kwargs na hargóintí eochairfhocal breise a chuirtear chuig an bhfeidhm amharc.
FóntaisLink to this heading
Tacaíonn
SimpleLazyObjectle hoibríochtaí breise anois.mark_safe()now preserves lazy objects.
BailíochtóiríLink to this heading
Seiceálann an nua:class: ~django.core.validators.stepvalueValidator an bhfuil luach ina iolrach lárnach de mhéid céim ar leith. Úsáidtear an bailíochtóir nua seo don argóint nua
step_sizea chuirtear le réimsí foirme a léiríonn luachanna uimhriúla.
Athruithe neamh-chomhoiriúnacha ar ais i 4.1Link to this heading
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í.
Athraítear
BasedatabaseFeatures.has_case_insensitive_likeóTruegoFalsechun iompar an chuid is mó de bhunachar sonraí a léiriú.Baintear ``databaseintrospection.get_key_columns () ``. Úsáid ``DatabaseIntrospection.get_relations () ``ina ionad.
Cuirtear
DatabaseOperations.on_conflict_suffix_sql () `in ionad modhdatabaseOperations.on_conflict_suffix_sql ()a ghlacann leis na hargóintí ``fields, on_conflict`, update_fields`, agusunique_fields.Cuirtear on_conflict` in ionad an argóint
ignore_conflictsden mhodh databaseOperations.insert_statement () ``a ghlacann le ``Django.db.Models.Constants.onConflict`.Oibríochtaí bunachar sonraí. Cuirtear ``DatabaseOperations in ionad _convert_field_to_tz (). _convert_sql_to_tz ()a ghlacann leis na hargóintí ``sql, params`, agustzname.Tógann roinnt modhanna dáta agus ama ar DatabaseOperations anois argóintí sql` agus params` in ionad
field_nameagus filleann 2-tuple ina bhfuil roinnt SQL agus na paraiméadair atá le hidirphóladh isteach sa SQL sin. Tá na sínithe nua seo ag na modhanna athraithe:``DatabaseOperations.date_extract_sql (lookup_type, sql, params) `
``DatabaseOperations.DateTime_Extract_SQL (lookup_type, sql, params, ainm) ``
``DatabaseOperations.Time_Extract_SQL (cuardach_cineál, sql, params) ``
``DatabaseOperations.date_trunc_sql (lookup_type, sql, params, tZnA=None) ``
``DatabaseOperations.DateTime_Trunc_sql (féin, lookup_type, sql, params, tzname) ``
``DatabaseOperations.time_trunc_sql (lookup_type, sql, params, tzname=None) ``
``DatabaseOperations.DateTime_Cast_Date_SQL (sql, paramaí, ainm) ``
``DatabaseOperations.DateTime_Cast_Time_SQL (sql, paramaí, ainm) ``
django.contrib.gisLink to this heading
Baintear tacaíocht do GDAL 2.1.
Baintear tacaíocht do PostGIS 2.4.
Tacaíocht titim do PostgreSQL 10Link to this heading
Críochnaíonn tacaíocht suas srutha do PostgreSQL 10 i mí na Samhna 2022. Tacaíonn Django 4.1 le PostgreSQL 11 agus níos airde.
Tacaíocht titim do MariaDB 10.2Link to this heading
Críochnaíonn tacaíocht suas srutha do MariaDB 10.2 i mí na Bealtaine 2022. Tacaíonn Django 4.1 le MariaDB 10.3 agus níos airde.
Cuardaigh an liosta athraithe riaracháin a chuimsíonn athruithe caidrimh ilLink to this heading
Cuirtear cuardach ar liosta athraithe riaracháin ag úsáid téarmaí cuardaigh iolracha i bhfeidhm anois i nglao amháin ar ``filter () ``, seachas i nglaonna ``filter () `seicheamhacha.
Maidir le caidrimh illuachmhar, ciallaíonn sé seo go gcaithfidh sraitheanna ón tsamhail gaolmhar na téarmaí go léir a mheaitseáil Mar shampla, má shocraítear search_fields go ['child__name', 'child__age'] agus má chuardaíonn úsáideoir ``Jamal 17', ní thabharfar sraitheanna tuismitheora ar ais ach amháin má bhíonn caidreamh le leanbh 17 bliain d'aois ainm Jamal, seachas tuismitheoirí a thabhairt ar ais nach bhfuil ach leanbh níos sine ar ainm Jamal.
Féach an t-ábhar: ref: spanning-il-luach-caidrim' le haghaidh tuilleadh plé a dhéanamh ar an difríocht seo. I Django 4.0 agus níos luaithe, lean:: meth: `~django.contrib.admin.modeladmin.get_search_results an dara ceist sampla, ach mar thoradh ar an iompar neamhdhoiciméadaithe seo bhí ceisteanna le comhpháirteanna iomarcacha.
Athruithe eochra eachtracha a aisiompú do chásanna samhailLink to this heading
<django.db.models.fields.related.RelatedManager>D'fhonn an t-iompar a aontú le caidreamh go leor le go leor le haghaidh cásanna samhail neamhshábháilte, ardaíonn eochair eachtrach droim “ValueError” anois agus iad ag glaoch ar: class: `bainisteoirí gaolmhara `le haghaidh rudaí neamhshábháilte.
IlghnéitheachLink to this heading
Tá bainisteoirí gaolmhara le haghaidh: class: ~django.db.models.foreignKey, :class: ~django.db.models.manyToManyField, agus:class: ~django.contrib.contentTypes.Fields.GenericRelation ar an sampla: Class: ~Django.db.Models.Model lena mbaineann siad anois. * Cuireadh an t-athrú seo ar ais i Django 4.1.2. *
DiscoverRunnernow returns a non-zero error code for unexpected successes from tests marked withunittest.expectedFailure().CsrfViewMiddlewareno longer masks the CSRF cookie like it does the CSRF token in the DOM.CsrfViewMiddlewarenow usesrequest.META['CSRF_COOKIE']for storing the unmasked CSRF secret rather than a masked version. This is an undocumented, private API.Tugann an: Attr: .ModelAdmin.Actions agus:attr: ~django.contrib.admin.modelAdmin.inlines réamhshocraithe anois le tuple folamh seachas liosta folamh chun sóchán neamhbheartaithe a dhíspreagadh.
</topics/forms/media> <link>Níl an tréith
type="text/css"san áireamh a thuilleadh i gclibeanna ```` le haghaidh CSS:doc: form media.Is imeachtaí JavaScript íon iad imeachtaí JavaScript
formset:addedagusformset: removedanois agus níl siad ag brath ar jQuery. Féach:ref: admin-javascript-inline-form-events le haghaidh tuilleadh sonraí faoin athrú.Cuirtear
exceptionin ionad argóintexc_infoden fheidhm ``django.utils.log.log_response () `neamhdhoiciméadaithe.Baintear argóint
sizeden fheidhm ``django.views.static.was_modified_since () ``neamhdhoiciméadaithe.Úsáideann an UI logáil amach riaracháin iarratais ``POST ``anois.
Cuirtear an modh
non_form_errors () `in ionad na maoine neamhdhoiciméadaithe ``inlineAdminFormSet.NON_FORM_ERRORS. Tá sé seo comhsheasmhach leBaseFormSet.Mar gheall ar: ref: thuas <templates-4.1>, tá an lódóir teimpléad taisceáilte cumasaithe anois i bhforbairt. Féadfaidh tú ``OPTIONS ['loader'] ``a shonrú chun é seo a shárú, más gá.
Cuirtear RedirecturlMixin` in ionad an mixin
django.contrib.auth.views.successURLAllowedHostsMixinneamhdhoiciméadaithe.BaseConstraintsubclasses must implementvalidate()method to allow those constraints to be used for validation.An
URLResolver gan doiciméadú. _is_callback () ``, `UrlResolver. Bogtar _callback_strs, agusURLPattern.lookup_str () ``chuig ``django.contrib.admindocs.utils.Athraíonn an modh: Meth: .model.FULL_CLEAN luach
eisiúintanois goset`. Is fearr freisin luach ``eisithea chur ar aghaidh marsetchuig na modhanna: meth: .model.clean_fields, :meth: .model.full_clean, :meth: .model.validate_unique, agus:meth: .model.validate_restricints.Méadaítear an leagan íosta tacaithe de asgiref` ó 3.4.1 go 3.5.2.
Ní úsáideann abairtí comhcheangailte an t-iompar earráidí a bhaineann le tuairim a thuilleadh output_field` nuair a mheaitseálann cineálacha argóintí. Mar thoradh air sin, féadfaidh réiteach
output_fieldle haghaidh feidhmeanna bunachar sonraí agus nathanna comhcheangailte titim anois le cineálacha measctha. Beidh ort an output_field` a shocrú go sainráite i gcásanna den sórt sin.Ní athraíonn an t-ordú:djaDmin: makemessages comhaid `.po ``a thuilleadh nuair a bhíonn siad cothrom le dáta. I leaganacha níos sine, rinneadh “Pot-Creation-Date” a nuashonrú i gcónaí.
Gnéithe atá díscríofa i 4.1Link to this heading
Logáil amach trí GETLink to this heading
<django.contrib.auth.views.LogoutView>Tá logáil amach trí iarratais GET chuig an:py:class: `amharc logála amach ionsuite `díluachtaithe. Úsáid iarratais ``POST ``ina ionad.
Más mian leat taithí úsáideora nasc HTML a choinneáil, is féidir leat foirm atá stíleáilte a úsáid le feiceáil mar nasc:
<form id="logout-form" method="post" action="{% url 'admin:logout' %}">
{% csrf_token %}
<button type="submit">{% translate "Log out" %}</button>
</form>
#logout-form {
display: inline;
}
#logout-form button {
background: none;
border: none;
cursor: pointer;
padding: 0;
text-decoration: underline;
}
IlghnéitheachLink to this heading
Tá an comhthéacs do theimpléid innéacs léarscáileáin léarscáileáin de liosta comhréidh URLanna míchuige. Ba chóir teimpléid innéacs léarscáileáin saincheaptha a nuashonrú do na hathróga coigeartaithe: ref: comhthéacs <sitemap-index-context-variables>, ag súil le liosta rudaí le
suíomh ``agus tréithe roghnacha ``lastmod.Tá an socrú idirthréimhseach
CSRF_COOKIE_MASKEDa dhíchur.Tá an argóint ``ainm ``de:func: django.utils.functional.cached_property a dhíchur mar nach bhfuil sé gan ghá mar Python 3.6.
<django.contrib.postgres.indexes.OpClass>Tá an argóint opclasses` de Django.contrib.postgres.Constraints.ExclusionConstraint` a dhíchur i bhfabhar úsáid:class: opClass () `in:attr: `.ExclusionConstraint.Expressions. Chun é a úsáid, ní mór duit
'django.contrib.postgres'a chur i d':setting: INSTALLED_APPS.Tar éis an t-athrú seo a dhéanamh, ginfidh :djadmin: makemigrations imirce nua le dhá oibríocht: removeConstraint` agus
AddConstraint. Ós rud é nach bhfuil aon éifeacht ag an athrú seo ar an scéim bunachar sonraí, is féidir an oibríocht:: class: ~django.db.migrations.Operations.SeparateDatabaseAndState a úsáid chun an stát imirce a nuashonrú gan aon SQL a reáchtáil. Bog na hoibríochtaí a ghintear isteach san argóintstate_operationsde:class: ~django.db.migrations.Operations.SeparateDatabaseandState. Mar shampla:class Migration(migrations.Migration): ... operations = [ migrations.SeparateDatabaseAndState( database_operations=[], state_operations=[ migrations.RemoveConstraint(...), migrations.AddConstraint(...), ], ), ]<django.test.SimpleTestCase.assertFormSetError>Tá an cumas neamhdhoiciméadaithe chun
Errors=Nonea rith chuig:meth: .simpletestCase.assertFormerror agus:meth: `assertFormSetError () `míchuige. Úsáid ``errors= [] ``ina ionad.Tá
Django.Contrib.Sessions.Serializers.Pickleserializera dhíchur mar gheall ar an mbaol go ndéanfar cód iargúlta a fhorghníomhú.Tá úsáid
QuerySet.iterator () ``ar thacar cheisteanna a fhaigheann rudaí gaolmhara réamh-mheasta gan an argóint ``chunk_sizea sholáthar. I leaganacha níos sine, níor rinneadh aon réamh-aimsiú. Tugann luach a sholáthar do chunk_size` le fios go bhfuil an ceist bhreise in aghaidh an phíosa a theastaíonn chun réamh-fháil ag teastáil.Tá cásanna samhail neamh-shábháilte a chur chuig scagairí gaolmhara. I Django 5.0, ardófar an eisceacht.
Cuirtear
created=Trueleis an síniú de:meth: .remoteUserBackend.configure_user. Tá tacaíocht do fho-aicmí RemoteUserBackend` nach nglacann leis an argóint seo a dhíchur.Tá an ailias
django.utils.timezone.utcto:attr: datetime.timezone.utc díscothaithe. Úsáid: attr: datetime.timezone.utc go díreach.Tá réad freagartha agus ainm foirme/foirmeacha a chur chuig
SimpletestCase.assertFormError () ``agus ``AssertFormSetError ()a dhíchur. Úsáid:assertFormError(response.context["form_name"], ...) assertFormsetError(response.context["formset_name"], ...)nó pas an réad foirme/formset go díreach ina ionad sin.
Tá an Django.contrib.gis.admin.openLayersWidget` neamhdhoiciméadaithe míchuige.
Tá
Django.Contrib.Auth.Hashers.CryptPasswordHasherdíluachtaithe.An cumas chun modhanna
Nulls_first=FalsenóNulls_last=Falsea rith goExpression.asc () ``agus ``Expression.desc ()modhanna, agus tá an abairtOrderBydíscothaithe. Úsáid ``None ``ina ionad.Tá na teimpléid
” django/forms/default.html “agus” django/forms/formsets/default.html “atá ina seachfhreastalaí do na teimpléid tábla-bhunaithe a dhíchur. Úsáid an teimpléad sonrach ina ionad.Athainmnítear an modh ``logoutView.get_next_page () neamhdhoiciméadaithe go ``get_success_url () `.
Gnéithe bainte i 4.1Link to this heading
Tá na gnéithe seo tar éis deireadh a dtimthriall díscrúdaithe bainte amach agus baintear iad i Django 4.1.
Féach: Ref: deprecated-features-3.2 le haghaidh sonraí faoi na hathruithe seo, lena n-áirítear conas úsáid na ngnéithe seo a bhaint.
Baintear tacaíocht chun rudaí a shannadh nach dtacaíonn le cóipeanna domhain a chruthú le copy.deepcopy () ``do thréithe ranga i ``TestCase.setupTestData ()`.
Baintear tacaíocht chun luach boolean a úsáid in:attr: .basecommand.requires_system_checks.
Baintear an argóint
whitelistagusdomain_whitelisttréithdjango.core.validators.emailvalidator.Baintear an t-athróg cumraíochta feidhmchláir
default_app_config.Ní ghlaonn
TransactionTestCase.assertQuerySetEqual () ```repr ()a thuilleadh ar tacar ceisteanna i gcomparáid le luachanna sreangáin.Baintear an cúltaca
django.core.cache.backends.memcached.memcachedcache.Baintear tacaíocht don fhormáid réamh-Django 3.2 de theachtaireachtaí a úsáideann
Django.contrib.messages.storage.cookie.cookie.cookieStorage.