Nótaí scaoileadh Django 5.0Link to this heading

4 Nollaig, 2023

Fáilte go dtí Django 5.0!

Clúdaíonn na nótaí scaoilte seo na:ref: gnéithe nua <whats-new-5.0>, chomh maith le roinnt athruithe: ref: athruithe neamh-chomhoiriúnacha ar chúl<backwards-incompatible-5.0> a mbeidh tú ag iarraidh a bheith ar an eolas fúthu agus tú ag uasghrádú ó Django 4.2 nó níos luaithe. <deprecated-features-5.0>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 5.0 le Python 3.10, 3.11, agus 3.12. Molaimid** go hard** agus ní thacaímid go hoifigiúil ach leis an scaoileadh is déanaí de gach sraith.

Is é an tsraith Django 4.2.x an ceann deireanach a thacaíonn le Python 3.8 agus 3.9.

Tacaíocht leabharlainne tríú páirtí le haghaidh leagan níos sine de DLink to this heading

Tar éis Django 5.0 a scaoileadh, molaimid go scaoilfidh údair aip tríú páirtí tacaíocht do gach leagan de Django roimh 4.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 5.0.

Cad atá nua i Django 5.0Link to this heading

Scagairí facet sa riarachánLink to this heading

Taispeántar comhaireamh gnéithe anois le haghaidh scagairí feidhme sa liosta athraithe riaracháin nuair a dhéantar iad a thosú tríd an gComhéadan Is féidir an t-iompar seo a athrú tríd an tréith nua:attr: .modeladmin.show_facets. Le haghaidh tuilleadh faisnéise féach:ref: facet-filters.

Teimpléid shimplithe le haghaidh rindreáil réimseLink to this heading

Tugann Django 5.0 coincheap grúpa allamuigh isteach, agus teimpléid grúpa allamuigh. Déanann sé seo rindreáil na n-eilimintí gaolmhara de réimse foirme Django mar a lipéad, giuirléid, téacs cabhrach agus earráidí a shimpliú.

Mar shampla, an teimpléad thíos:

Django template
<form>
...
<div>
  {{ form.name.label_tag }}
  {% if form.name.help_text %}
    <div class="helptext" id="{{ form.name.auto_id }}_helptext">
      {{ form.name.help_text|safe }}
    </div>
  {% endif %}
  {{ form.name.errors }}
  {{ form.name }}
  <div class="row">
    <div class="col">
      {{ form.email.label_tag }}
      {% if form.email.help_text %}
        <div class="helptext" id="{{ form.email.auto_id }}_helptext">
          {{ form.email.help_text|safe }}
        </div>
      {% endif %}
      {{ form.email.errors }}
      {{ form.email }}
    </div>
    <div class="col">
      {{ form.password.label_tag }}
      {% if form.password.help_text %}
        <div class="helptext" id="{{ form.password.auto_id }}_helptext">
          {{ form.password.help_text|safe }}
        </div>
      {% endif %}
      {{ form.password.errors }}
      {{ form.password }}
    </div>
  </div>
</div>
...
</form>

Is féidir é a shimpliú anois go:

Django template
<form>
...
<div>
  {{ form.name.as_field_group }}
  <div class="row">
    <div class="col">{{ form.email.as_field_group }}</div>
    <div class="col">{{ form.password.as_field_group }}</div>
  </div>
</div>
...
</form>

as_field_group() renders fields with the "django/forms/field.html" template by default and can be customized on a per-project, per-field, or per-request basis. See Teimpléid grúpa allamuigh.

Luachanna réamhshocraithe ríofa bunachar sonraíLink to this heading

<django.db.models.Field.db_default>Socraíonn an paraiméadar nua:attr: `Field.db_default `luach réamhshocraithe ríofa bunachar sonraí. Mar shampla:

Code
from django.db import models
from django.db.models.functions import Now, Pi


class MyModel(models.Model):
    age = models.IntegerField(db_default=18)
    created = models.DateTimeField(db_default=Now())
    circumference = models.FloatField(db_default=2 * Pi())

Réimse samhail a ghintear bunacharLink to this heading

Ceadaíonn an nua:class: ~django.db.Models.GeneratedField colúin a ghintear bunachar sonraí a chruthú. Is féidir an réimse seo a úsáid ar gach cúltaca bunachar sonraí tacaithe chun réimse a chruthú a ríomhtar i gcónaí ó réimsí eile. Mar shampla:

Code
from django.db import models
from django.db.models import F


class Square(models.Model):
    side = models.IntegerField()
    area = models.GeneratedField(
        expression=F("side") * F("side"),
        output_field=models.BigIntegerField(),
        db_persist=True,
    )

Tuilleadh roghanna chun roghanna allamuighLink to this heading

Field.choices (for model fields) and ChoiceField.choices (for form fields) allow for more flexibility when declaring their values. In previous versions of Django, choices should either be a list of 2-tuples, or an Cineálacha áireamh subclass, but the latter required accessing the .choices attribute to provide the values in the expected form:

Code
from django.db import models

Medal = models.TextChoices("Medal", "GOLD SILVER BRONZE")

SPORT_CHOICES = [
    ("Martial Arts", [("judo", "Judo"), ("karate", "Karate")]),
    ("Racket", [("badminton", "Badminton"), ("tennis", "Tennis")]),
    ("unknown", "Unknown"),
]


class Winner(models.Model):
    name = models.CharField(...)
    medal = models.CharField(..., choices=Medal.choices)
    sport = models.CharField(..., choices=SPORT_CHOICES)

<field-choices-enum-types>Cuireann Django 5.0 tacaíocht le glacadh le mapáil nó le glaoch in ionad athraitheach, agus ní éilíonn freisin go n-úsáidfear .choices` go ndéanfaí úsáid go díreach chun leathnaithe:ref: `cineálacha áireamh `:

Code
from django.db import models

Medal = models.TextChoices("Medal", "GOLD SILVER BRONZE")

SPORT_CHOICES = {  # Using a mapping instead of a list of 2-tuples.
    "Martial Arts": {"judo": "Judo", "karate": "Karate"},
    "Racket": {"badminton": "Badminton", "tennis": "Tennis"},
    "unknown": "Unknown",
}


def get_scores():
    return [(i, str(i)) for i in range(10)]


class Winner(models.Model):
    name = models.CharField(...)
    medal = models.CharField(..., choices=Medal)  # Using `.choices` not required.
    sport = models.CharField(..., choices=SPORT_CHOICES)
    score = models.IntegerField(choices=get_scores)  # A callable is allowed.

Faoin gcochall déantar na “roghanna” a sholáthraítear a normalú i liosta de dhá thúpla mar an fhoirm chanónach aon uair a nuashonraítear an luach ``roghnaí`. <field-choices>Le haghaidh tuilleadh faisnéise, seiceáil le do thoil an:ref: `tagairt réimse samhail ar roghanna `.

MionghnéitheLink to this heading

django.contrib.adminLink to this heading

  • Ligeann an modh nua:meth: .adminsite.get_log_entries an tacar fiosrúcháin a shaincheapadh d'iontrálacha logála liostaithe an láithreáin.

  • Láimhseálann na scagairí riaracháin django.contrib.admin.allvaluesFieldListFilter, RelatedFieldListFilter`, agus RelatedFieldListFilter, agus RelatedOnlyFieldListFilter paraiméadair fiosrúcháin illuachmhara anois.

  • Déantar XregExp a uasghrádú ó leagan 3.2.0 go 5.1.1.

  • Tugann an modh nua:meth: .adminsite.get_model_admin rang riaracháin ar ais don rang samhail ar leith.

  • Tacaíonn airíonna in:attr: .modeladmin.list_display anois le tréith boolean.

  • tá jQuery uasghrádaithe ó leagan 3.6.4 go 3.7.1.

django.contrib.authLink to this heading

  • Méadaítear an líon athraithe réamhshocraithe don hasher pasfhocal PBKDF2 ó 600,000 go 720,000.

  • Cuirtear na feidhmeanna asincrónacha nua ar fáil anois, ag baint úsáide as réimír a: :func: django.contrib.auth.aautenticate, :func: ~.django.contrib.auth.aget_user, :func: ~.django.contrib.auth.alogin, :func: ~.django.contrib.contrib.auth.alogin b.auth.alogout`, agus:func: ~.django.contrib.auth.aupdate_session_auth_hash.

  • Cuireann AuthenticationMiddleWare anois:meth: .httpRequest.auser modh asincrónach a thugann an t-úsáideoir logáilte isteach faoi láthair ar ais.

  • Ligeann an feidhm asincrónach nua:func: django.contrib.auth.hashers.acheck_password agus: meth: .abstractBaseUser.acheck_password seiceáil asincrónach pasfhocail úsáideora.

django.contrib.contenttypesLink to this heading

django.contrib.gisLink to this heading

  • Tugann an fheidhm nua:class: `closestPoint () <django.contrib.gis.db.models.functions.ClosestPoint>`pointe dhíthoiseach ar an geoiméadracht atá is gaire do ghéimseadracht eile.

  • GIS aggregates now support the filter argument.

  • Cuirtear tacaíocht do GDAL 3.7 agus GEOS 3.12 leis.

  • Ligeann an modh nua:meth: .geosgeometry.equals_identical seiceáil coibhéasachta pointe ciallmhar geoiméadracha.

django.contrib.messagesLink to this heading

  • <django.http.HttpResponse>Ligeann an modh dearbhaithe nua:meth: .messagestestMixin.assertMessages tástáil: mod: ~django.contrib.messages curtha le a:class: `response `.

django.contrib.postgresLink to this heading

  • <validating-objects>Ceadaíonn an tréith nua:attr: ~.EXCLUSIONCONSTRAINT.VIOLATION_ERROR_CODE de:class: ~django.contrib.postgres.restricints.ExclusionConstraint an cód ``de `ValidationError` a ardaíodh trí:ref: `bailíochtú samhail `a shaincheapadh.

Tuairimí asincrónachaLink to this heading

  • Faoi ASGI, déantar imeachtaí http.disconnect` a láimhseáil anois. Ligeann sé seo tuairimí aon ghlanadh riachtanach a dhéanamh má dhícheanglaíonn cliant sula ngintear an freagra. Féach: ref: async-handling-disconnect le haghaidh tuilleadh sonraí.

MaisitheoiríLink to this heading

Tuairisc EarráideLink to this heading

Stóráil ComhadLink to this heading

  • File.open() now passes all positional (*args) and keyword arguments (**kwargs) to Python's built-in open().

FoirmeachaLink to this heading

  • Ceadaíonn an argóint nua:attr: ~django.forms.urlfield.assume_scheme do:class: ~django.forms.urlfield scéim réamhshocraithe URL a shonrú.

  • D'fhonn inrochtaineacht a fheabhsú, déantar na hathruithe seo a leanas:

    • Cuimsíonn réimsí foirme an tréith HTML aria-describedby anois chun a chumas léitheoirí scáileáin réimsí foirme a cheangal lena dtéacs cabhrach.

    • Cuimsíonn réimsí foirme neamhbhailí an tréith HTML aria-invalid="true" anois.

IdirnáisiúnúLink to this heading

  • Tá tacaíocht agus aistriúcháin don teanga Uighur ar fáil anois.

ImirceLink to this heading

  • Tacaítear anois le sraith feidhmeanna maisithe le: func: functools.cache nó: func: functools.lru_cache gan gá le serializer saincheaptha a scríobh.

SamhlaLink to this heading

  • Ceadaíonn an argóint nua create_defaults de:meth: .queryset.update_or_create agus:meth: .queryset.AUPDate_or_create luachanna réimse difriúla a shonrú don oibríocht chruthaigh.

  • <validating-objects>Ceadaíonn an tréith nua violation_error_code de:class: ~django.db.models.baseConstraint, :class: ~django.db.models.checkConstraint, agus:class: ~Django.db.Models.UniqueConstraint an code` de ValidationError` a shaincheapadh le linn: ref: `bailíochtú samhail `.

  • Ceadaíonn an argóint:ref: force_insert <ref-models-force-insert>`de:meth: `.model.save anois tiúpla d'aicmí tuismitheoirí a shonrú ar chaithfear iallach a chur isteach.

  • QuerySet.bulk_create() and QuerySet.abulk_create() methods now set the primary key on each model instance when the update_conflicts parameter is enabled (if the database supports it).

  • Ligeann an tréith nua:attr: .UniqueConstraint.NULLS_Distinct cóireáil luachanna NULL a shaincheapadh ar PostgreSQL 15+.

  • Ceadaíonn an nua:func: ~django.shortcuts.aget_object_or_404 agus:func: ~django.shortcuts.aget_list_or_404 aicearraí asyncrónach rudaí a fháil asincrónach.

  • Ligeann an fheidhm nua:func: ~django.db.models.aprefetch_related_objects réamhfhaighdeach asincrónach cásanna samhail.

  • QuerySet.aiterator() now supports previous calls to prefetch_related().

  • Ar MariaDB 10.7+, cruthaítear UUIDField anois mar cholún UUID seachas colún ``CHAR (32) ``. Féach an treoir imirce thuas le haghaidh tuilleadh sonraí ar:ref: migrating-uuidfield.

  • Tacaíonn Django anois le leagan oracledb 1.3.2 nó níos airde. Tá tacaíocht do CX_Oracle` díluaite amhail an scaoileadh seo agus bainfear é i Django 6.0.

LeathanaighLink to this heading

  • Ligeann an argóint nua:attr: django.core.paginator.paginator.error_messages na teachtaireachtaí earráide arna ardú arga:meth: .paginator.page a shaincheapadh.

ComharthaíLink to this heading

  • Ceadaíonn na modhanna nua:meth: .signal.asend agus:meth: .signal.asend_robust seoladh comhartha asincrónach. D'fhéadfadh glacadóirí comhartha a bheith sioncrónach nó asincrónach, agus cuirfear iad in oiriúint go huathoibríoch don stíl ghlaonna ceart.

TeimpléidLink to this heading

  • Baineann an scagaire teimpléad nua:tfilter: escapeseq: tfilter: escape le gach eilimint de sheicheamh.

TástálachaLink to this heading

BailíochtóiríLink to this heading

  • Ligeann an argóint nua offset de:class: ~django.core.validators.stepvalueValidator fhritháireamh a shonrú do luachanna bailí.

Athruithe neamh-chomhoiriúnacha ar ais i 5.0Link 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í.

  • Ba chóir DatabaseFeatures.supports_expression_defaults a shocrú go False mura dtacaíonn an bunachar sonraí le feidhmeanna bunachar sonraí a úsáid mar réamhshocraithe.

  • Ba chóir databaseFeatures.supports_default_keyword_in_insert a shocrú go False mura dtacaíonn an bunachar sonraí leis an eochairfhocal DEFAULT i gceisteanna INSERT.

  • Ba chóir databaseFeatures.supports_default_keyword_in_bulk_insert a shocrú go False mura dtacaíonn an bunachar sonraí leis an eochairfhocal DEFAULT i mórcheisteanna INSERT.

django.contrib.gisLink to this heading

  • Baintear tacaíocht do GDAL 2.2 agus 2.3.

  • Baintear tacaíocht do GEOS 3.6 agus 3.7.

django.contrib.sitemapsLink to this heading

  • Baintear an fheidhm django.contrib.sitemaps.ping_google () ``agus an t-ordú bainistíochta `ping_google de réir mar a dhéantar críochphointe ping Google Sitemaps as dul in iúl agus bainfear é i mí Eanáir 2024.

  • Baintear an rang eisceachta Django.Contrib.SiteMaps.SiteMapNotFound.

Tacaíocht titim do MySQL < 8.0.11Link to this heading

Baintear tacaíocht do réamh-eisiúintí de shraith MySQL 8.0.x. Tacaíonn Django 5.0 le MySQL 8.0.11 agus níos airde.

D'fhéadfadh go mbeadh gá anois ag baint úsáide as create_defaults__exact le ``QuerySet.Update_or_create () ``Link to this heading

QuerySet.update_or_create() now supports the parameter create_defaults. As a consequence, any models that have a field named create_defaults that are used with an update_or_create() should specify the field in the lookup with create_defaults__exact.

Ag aistriú UUIDField atá ann cheana ar MariaDB 10.7+Link to this heading

Ar MariaDB 10.7+, cruthaítear UUIDField anois mar cholún UUID seachas colún CHAR (32) ``. Mar thoradh air sin, ba cheart fo-aicme ``UUidField a thacaíonn CHAR (32) ``a chur in ionad aon ``UUIDField a cruthaíodh i Django < 5.0:

Code
class Char32UUIDField(models.UUIDField):
    def db_type(self, connection):
        return "char(32)"

    def get_db_prep_value(self, value, connection, prepared=False):
        value = super().get_db_prep_value(value, connection, prepared)
        if value is not None:
            value = value.hex
        return value

Mar shampla:

Code
class MyModel(models.Model):
    uuid = models.UUIDField(primary_key=True, default=uuid.uuid4)

Ba chóir go mbeadh:

Code
class Char32UUIDField(models.UUIDField): ...


class MyModel(models.Model):
    uuid = Char32UUIDField(primary_key=True, default=uuid.uuid4)

Ag rith an t-ordú:djadmin: makemigrations ginfidh imirce ina bhfuil oibríocht ``Alterfield` gan op.

IlghnéitheachLink to this heading

  • Athainmnítear argóint instance an modh BaseModelFormSet.save_Existing () ``neamhdhoiciméadaithe go ``obj.

  • Baintear an django.contrib.admin.helpers.checkbox neamhdhoiciméadaithe.

  • Déantar réimsí sláimhir a bhailíochtú anois mar shláimhreacha 64-giotán ar SQLite chun iompar sqlite3` a mheaitseáil.

  • Athraítear an tréith Query.annotation_Select_Mask neamhdhoiciméadaithe ó shraith teaghráin go liosta ordaithe teaghráin.

  • Ní ghlaofar imagefield.update_dimension_fields () ``ar an gcomhartha ``post_init a thuilleadh mura socraítear width_field agus height_field.

  • Now database function now uses LOCALTIMESTAMP instead of CURRENT_TIMESTAMP on Oracle.

  • <div><h1>:attr: .adminsite.site_header a rindreáiltear anois i gclib ```` in ionad ````. Tá úsáideoirí léitheoirí scáileáin ag brath ar eilimintí ceannteidil le haghaidh nasclean Bhí dhá ghné <h1>```a bheith mearbhall agus ní raibh ceanntásc an láithreáin cabhrach mar go ndéantar é a athdhéanamh ar gach leathanach.

  • <div>D'fhonn inrochtaineacht a fheabhsú, déantar príomhlimistéar ábhair an riaracháin agus limistéar ábhar ceanntásc a léiriú anois i gclib <main>```` agus ```` <header>``in ionad`` `.

  • Ar bhunachair sonraí gan tacaíocht dhúchasach don oibreoir SQL XOR, filleann ^ mar oibreoir eisiach nó (XOR) sraitheanna anois atá comhoiriúnaithe le líon aisteach oibrithe seachas oibrand amháin go díreach. Tá sé seo ag teacht le hiompar MySQL, MariaDB, agus Python.

  • Méadaítear an leagan íosta tacaithe de asgiref` ó 3.6.0 go 3.7.0.

  • Méadaítear an leagan íosta tacaithe de selenium` ó 3.8.0 go 4.8.0.

  • Aistrítear na heisceachtaí AlreadyRegistered agus Notregistered` ó django.contrib.admin.sites go django.contrib.admin.exceptions`.

  • Méadaítear an leagan íosta tacaithe de SQLite ó 3.21.0 go 3.27.0.

  • Baintear tacaíocht do ``CX_Oracle ``< 8.3.

  • Ardaíonn sé anois ceisteanna SQL a fhorghníomhú sula ndéantar clárlann na n-aipeanna daonra go hiomlán anois:exc: RuntimeWarning.

  • : exc: Ardaítear ~django.core.exceptions.badRequest le haghaidh iarratais ionchódaithe neamh-UTF-8 leis an gcineál ábhair: mimetype: application/x-www-form-urlencoded. Féach: RFC: 1866 le haghaidh tuilleadh sonraí.

  • Méadaítear an leagan íosta tacaithe de “colorama” go 0.4.6.

  • Méadaítear an leagan íosta tacaithe de docutils go 0.19.

  • Tugann scagadh ceisteanna i gcoinne luachanna sláimhriúla atá ró-shlán anois tacar ceisteanna folamh i gcónaí. <using-f-with-annotations>Mar thoradh air sin, b'fhéidir go mbeidh ort ``ExpressionWrapper () ``a úsáid to:ref: `uimhríocht a fhilleadh go sainráite `i gcoinne réimsí sláireach i gcásanna den sórt sin.

Gnéithe atá díscríofa i 5.0Link to this heading

IlghnéitheachLink to this heading

  • Tá na léiritheoirí foirme idirthréimhseacha DjangoDivFormRenderer agus Jinja2DivFormRenderer a dhíchur.

  • Tá argóintí seasaimh name agus violation_error_message a chur chuig:class: ~django.db.models.baseConstraint i bhfabhar argóintí eochairfhocal amháin.

  • Cuirtear request leis an síniú de:meth: .modeladmin.lookup_allowed. Tá tacaíocht do fho-aicmí ModelAdmin nach nglacann leis an argóint seo caite.

  • Tá an modh get_joining_columns () ``de `ForeignObject agus ForeignObjectRel a dhíchur. Ag tosú le Django 6.0, ní thiocfaidh Django.db.Models.sql.DataStructures.join ar ais chuig ``get_joining_columns () ``a thuilleadh. Ba chóir go gcuirfeadh fo-ranganna ``get_joining_fields () ``a chur i bhfeidhm ina ionad.

  • Tá an modh ``ForeignObject.get_Reverse_Joining_Columns () ``a dhíchur.

  • The default scheme for forms.URLField will change from "http" to "https" in Django 6.0. Set FORMS_URLFIELD_ASSUME_HTTPS transitional setting to True to opt into assuming "https" during the Django 5.x release cycle.

  • FORMS_URLFIELD_ASSUME_HTTPS tá an socrú idirthréimhseach a dhíchur.

  • Tá an tacaíocht chun glaoch ar ``format_html () ``gan args nó kwargs a rith a chur as.

  • Tá tacaíocht do CX_Oracle` a dhíchur i bhfabhar tiománaí Python oracledb 1.3.2+.

  • Táthar ag moladh DatabaseOperations.field_cast_sql() i bhfabhar DatabaseOperations.lookup_cast(). Ag tosú le Django 6.0, ní thabharfar field_cast_sql() ar BuiltinLookup.process_lhs() a thuilleadh. Ba cheart go gcuirfí lookup_cast() i bhfeidhm ina ionad sin d'innill bhunachar sonraí tríú páirtí.

  • Athainmnítear an metaclass Django.db.Models.Enums.ChoiceSmeta go ChoiceStype.

  • Tá an modh ``Prefetch.get_current_querySet () ``díluachtaithe.

  • Tá an modh get_prefetch_queryset () ``bainisteoirí agus tuairiscí gaolmhara a dhíchur. Ag tosú le Django 6.0, thiocfaidh ``get_prefetcher () ``agus ``prefetch_related_objects () ar ais chuig ``get_prefetch_queryset () ``a thuilleadh. Ba chóir go gcuirfeadh fo-ranganna ``get_prefetch_querysets () ``a chur i bhfeidhm ina ionad.

Gnéithe bainte i 5.0Link to this heading

Tá na gnéithe seo tar éis deireadh a dtimthriall díscrúdaithe bainte amach agus baintear iad i Django 5.0.

Féach: Ref: deprecated-features-4.0 le haghaidh sonraí faoi na hathruithe seo, lena n-áirítear conas úsáid na ngnéithe seo a bhaint.

  • Baintear an socrú tástála SERIALIZE.

  • Baintear an modúl django.utils.baseconv neamhdhoiciméadaithe.

  • Baintear an modúl django.utils.datetime_safe neamhdhoiciméadaithe.

  • Athraítear luach réamhshocraithe an socrú USE_TZ ó False go True.

  • Athraítear an prótacal réamhshocraithe léarscáileanna láithreáin do léarscáileanna láithreáin a tógadh lasmuigh de chomhthéacs iarratais ó 'http' go https'.

  • Baintear an argóint extra_tests do DiscoverRunner.build_suite () ``agus ``DiscoverRunner.run_tests ()`.

  • Ní fhilleann na comhiomlánacha Django.Contrib.Postgres.Aggregates.Arrayagg, Jsonbagg, agus Stringagg a thuilleadh [], [], agus `, faoi seach, nuair nach bhfuil aon sraitheanna ann.

  • Baintear an socrú USE_L10N.

  • Baintear an socrú idirthréimhseach USE_DEPRECATED_PYTZ.

  • Baintear tacaíocht do chóin ama pytz.

  • Baintear an argóint is_dst as:

    • ``QuerySet.DateTimes () ``

    • ``django.utils.timezone.make_aware () ``

    • ``Django.db.Models.Functions.trunc () ``

    • ``Django.db.Models.Functions.TruncSecond () ``

    • ``Django.db.Models.Functions.TruncMinute () ``

    • ``Django.db.Models.Functions.Trunchour () ``

    • ``Django.db.Models.Functions.TruncDay () ``

    • ``Django.db.Models.Functions.TruncWeek () ``

    • ``Django.db.Models.Functions.TruncMonth () ``

    • ``Django.db.Models.Functions.TruncQuarter () ``

    • ``Django.db.Models.Functions.TruncYear () ``

  • Baintear na ranganna Django.contrib.gis.admin.geomodelAdmin agus OsmGeoAdmin.

  • An ``Basfhoirm neamh-dhoiciméadaithe. Baintear an modh _html_output () ``.

  • Baintear an cumas str a thabhairt ar ais, seachas SafeString, nuair a dhéantar ErrorDict agus Liosta Error a rindreáil.

Féach: Ref: deprecated-features-4.1 le haghaidh sonraí faoi na hathruithe seo, lena n-áirítear conas úsáid na ngnéithe seo a bhaint.

  • An ``SitemapIndexItem. Baintear modh __str__ () `.

  • Baintear an suíomh idirthréimhseach CSRF_COOKIE_MASKED.

  • Baintear an argóint ainm ``de `django.utils.functional.cached_property ().

  • Baintear an argóint opclasses` de Django.contrib.postgres.Constraints.ExclusionConstraint`.

  • Baintear an cumas neamhdhoiciméadaithe chun Errors=None a chur chuig SimpleTestCase.AssertFormError () ``agus ``AssertFormSetError ().

  • Baintear Django.contrib.sessions.serializers.pickleserializer.

  • Ní cheadaítear úsáid QuerySet.iterator () ``ar thacar cheisteanna a thuilleann rudaí gaolmhara gan an argóint ``chunk_size a sholáthar a thuilleadh.

  • Ní cheadaítear cásanna samhaltaithe gan sábháil a chur ar aghaidh chuig na scagairí gaolmhara a thuilleadh.

  • created=True ag teastáil i síniú fo-aicmí ``RemoteUserBackend.configure_user () ``.

  • Baintear tacaíocht le logáil amach trí iarratais GET sna django.contrib.auth.views.logoutview` agus ``django.contrib.auth.views.logout_then_login () ``.

  • Baintear an ailias django.utils.timezone.utc chuig datetime.timezone.utc`.

  • Ní cheadaítear réad freagartha agus ainm foirme/foirmeacha a chur chuig simpletestCase.assertFormError () ``agus ``AssertFormSetError () a thuilleadh.

  • Baintear an Django.contrib.gis.admin.openlayerswidget.

  • Baintear an Django.contrib.auth.hashers.cryptPasswordHasher.

  • Baintear na teimpléid django/forms/default.html agus django/forms/formsets/default.html .

  • Athraítear an fhoirm réamhshocraithe agus an stíl rindreála foirmeacha go dtí an div-bhunaithe.

  • Ag dul chun modhanna Nulls_first=FalseNulls_last=False go Expression.asc () ``agus ``Expression.desc ()`, agus ní cheadaítear an abairt OrderBy a thuilleadh.