Nótaí scaoilte Django 3.2Link to this heading
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 PythonLink to this heading
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.2Link to this heading
Uathoibríoch: aicme: ~django.apps.appconfig fionnachtainLink to this heading
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 uathoibrLink to this heading
<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úlaLink to this heading
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 pymemcacheLink to this heading
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áinLink to this heading
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éitheLink to this heading
django.contrib.adminLink to this heading
ModelAdmin.search_fieldsnow 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
Falsechun an radharc catch-all a dhíchumasú.
django.contrib.authLink to this heading
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_costagus parallelism` go 102,400 agus 8 faoi seach chun na réamhshocruitheargon2-cffia 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.contenttypesLink to this heading
Ligeann an argóint nua
absolute_maxd':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_extrale 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.gisLink to this heading
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.postgresLink to this heading
Ceadaíonn an tréith nua:attr: .ExclusionConstraint.include srianta eisiaimh clúdaigh a chruthú ar PostgreSQL 12+.
Ligeann an tréith nua
ExclusionConstraint.opClassesranganna oibreora PostgreSQL a shocrú.The new
JSONBAgg.orderingattribute 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.sitemapsLink to this heading
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.
Cúltaca bunachar sonraíLink to this heading
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_skipsagusdjango_test_expected_failures.
MaisitheoiríLink to this heading
Ligeann an maisitheoir nua:func: ~django.views.decorators.common.no_append_slash tuairimí aonair a eisiamh ó:setting: APPEND_SLASH normalú URL.
Tuairisc EarráideLink to this heading
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 ComhadLink to this heading
FoirmeachaLink to this heading
Ceadaíonn an argóint nua
absolute_maxd':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_extrado: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.BaseFormSetnow 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 theerror_messagesargument with the key'missing_management_form'when instantiating the formset.
Tuairimí cineálachaLink to this heading
Tacaíonn na tréithe
week_formatde:class: ~django.views.generic.dates.weekMixin agus:class: ~django.views.generic.dates.weekArchiveView leis an bhformáid seachtaine`%V'ISO 8601 anois.
Orduithe BainistíochtaLink to this heading
loaddatanow supports fixtures stored in XZ archives (.xz) and LZMA archives (.lzma).dumpdatanow can compress data in thebz2,gz,lzma, orxzformats.makemigrationscan now be called without an active database connection. In that case, check for a consistent migration history is skipped.BaseCommand.requires_system_checksnow 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í.
ImirceLink to this heading
Ligeann an maoin nua
Operation.Migration_Name_Fragmentblú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.
SamhlaLink to this heading
The new
no_keyparameter forQuerySet.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()expression now allows using theconditionargument withlookups.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()now supports nested relations.The
ofargument ofQuerySet.select_for_update()is now allowed on MySQL 8.0.1+.Value()expression now automatically resolves itsoutput_fieldto the appropriateFieldsubclass based on the type of its providedvalueforbool,bytes,float,int,str,datetime.date,datetime.datetime,datetime.time,datetime.timedelta,decimal.Decimal, anduuid.UUIDinstances. As a consequence, resolving anoutput_fieldfor database functions and combined expressions may now crash with mixed types when usingValue(). You will need to explicitly set theoutput_fieldin 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_nameargument ofQuerySet.in_bulk()now accepts distinct fields if there's only one field specified inQuerySet.distinct().Ceadaíonn paraiméadar nua
tzinfoden 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
durablele 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 mharthanachRuntimeerror.Cuireadh feidhm bunachar sonraí: class: ~django.db.models.functions.jsonObject leis.
LeathanaighLink to this heading
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íLink to this heading
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
headersde: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áilLink to this heading
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_KEYgan 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 arSettings.SECRET_KEYardó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.
SraitheadhLink to this heading
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íLink to this heading
TeimpléidLink to this heading
floatformattemplate filter now allows using thegsuffix to force grouping by theTHOUSAND_SEPARATORfor the active locale.Teimpléid atá i dtaisce le Tá lódairí teimpléid i dtaisce á athlódáil i gceart anois á bhforbairt.
TástálachaLink to this heading
Objects assigned to class attributes in
TestCase.setUpTestData()are now isolated for each test method. Such objects are now required to support creating deep copies withcopy.deepcopy(). Assigning objects which don't supportdeepcopy()is deprecated and will be removed in Django 4.1.DiscoverRunnernow enablesfaulthandlerby default. This can be disabled by using thetest --no-faulthandleroption.DiscoverRunnerand thetestmanagement command can now track timings, including database setup and total run time. This can be enabled by using thetest --timingoption.: 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()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 thetransformargument.
FóntaisLink to this heading
Ligeann paraiméadar nua
depthde fheidhmeannadjango.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íLink to this heading
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) sa ú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.2Link 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í.
Cuireann an maoin nua
DatabaseFeatures.Introspected_Field_Typesin 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_indexesgo True`.Caithfidh cúltaca bunachar sonraí tríú páirtí tacaíocht do cholúin bunachar sonraí colún a chur i bhfeidhm ar
CharfieldagusTextFields nó DatabaseFeatures.supports_collation_on_charfield` agusdatabaseFeatures.supports_collation_on_textfielda shocrú go False`. Mura dtacaítear le comparáidí neamhchinnteacha, socraighsupports_non_deterministic_collationsgo False`.Baintear
DatabaseOperations.Random_Function_SQL ()i bhfabhar an fheidhm bunachar sonraí nua:class: ~Django.db.Models.Functions.Random.DatabaseOperations.date_trunc_sql () ``agusDatabaseOperations.time_trunc_sql ()glacann anois an argóint roghnach ``tznamed'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áiteasCREATE INDEX, socraighdatabaseFeatures.collate_as_index_expressiongo True`.
django.contrib.adminLink to this heading
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=1in 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_fieldsno longer strips English stop words, such as'a'or'an'.
django.contrib.gisLink to this heading
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.5Link to this heading
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.6Link to this heading
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éitheachLink to this heading
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()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.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`. Socraighdefault = Falsesa 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
TypeErrora 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.TestContextDecoratornow usesaddCleanup()so that cleanups registered in thesetUp()method are called beforeTestContextDecorator.disable().Ardaíonn
SessionMiddleWareeisceacht 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 ``Falseanois 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.
makemessagescommand no longer processes invalid locales specified usingmakemessages --localeoption, when they contain hyphens ('-').Is é an réimse foirme
django.contrib.auth.forms.ReadOnlyPasswordHashfieldanois: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.
CookieStoragenow stores messages in the RFC 6265 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.2Link to this heading
IlghnéitheachLink to this heading
Assigning objects which don't support creating deep copies with
copy.deepcopy()to class attributes inTestCase.setUpTestData()is deprecated.Tá luach boolean a úsáid in:attr: .baseCommand.requires_System_Checks díluachtaithe. Úsáid
'__all__'in ionadTrue, agus[](liosta folamh) in ionadFalse.Tá an argóint
whitelistagus an tréith domain_whitelist` de:class: ~django.core.validators.emailValidator a dhíchur. Úsáidallowlistin ionadwhitelist, agusdomain_allowlistin ionaddomain_whitelist. B'fhéidir go mbeidh ortwhitelista athainmniú sna himirce atá ann cheana.Tá an t-athróg cumraíochta feidhmchláir
default_app_configdíscothaithe, mar gheall ar an bhfionnachtainAppConfiguathoibrí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
transformgorepr.Tá an cúltaca
django.core.cache.backends.memcached.memcachedcachedíluaite mar tá roinnt fadhbanna agpython-memcachedagus is cosúil nach bhfuil sé cothabháilte. Úsáiddjango.core.cache.backends.memcached.pymemcacheCachenódjango.core.cache.backends.memcached.pylibmccacheina ionad.Tá formáid na dteachtaireachtaí a úsáideann
Django.contrib.messages.storage.cookie.cookie.cookieStoragedifriú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.