Tidslinje för avveckling av Django¶
Det här dokumentet beskriver när olika delar av Django kommer att tas bort eller ändras på ett bakåtkompatibelt sätt, efter deras avskrivning, enligt :ref:deprecation policy <internal-release-deprecation-policy>. Mer information om varje objekt kan ofta hittas i utgivningsanteckningarna för två versioner tidigare.
6.1¶
Se Django 5.2 release notes för mer information om dessa ändringar.
Nyckelordsargumentet
allidjango.contrib.staticfiles.finders.find()kommer att tas bort.Fallbacks to
request.userandrequest.auser()whenuserisNoneindjango.contrib.auth.login()anddjango.contrib.auth.alogin(), respectively, will be removed.Nyckelordsargumentet
orderingför de PostgreSQL-specifika aggregeringsfunktionernadjango.contrib.postgres.aggregates.ArrayAgg,django.contrib.postgres.aggregates.JSONBAggochdjango.contrib.postgres.aggregates.StringAggkommer att tas bort.Stöd för subklasser av
RemoteUserMiddlewaresom åsidosätterprocess_request()utan att åsidosättaaprocess_request()kommer att tas bort.
6.0¶
Se Django 5.0 release notes för mer information om dessa ändringar.
De tillfälliga formgivarna
DjangoDivFormRendererochJinja2DivFormRendererkommer att tas bort.Stöd för att skicka positionella argument till
BaseConstraintkommer att tas bort.requestkommer att krävas i signaturen förModelAdmin.lookup_allowed()subklasser.django.db.models.sql.datastructures.Joinkommer inte längre att fallbacka tillget_joining_columns().Metoden
get_joining_columns()iForeignObjectochForeignObjectRelkommer att tas bort.Metoden
ForeignObject.get_reverse_joining_columns()kommer att tas bort.Standardschemat för
forms.URLFieldändras från"http"till"https".Stöd för att anropa
format_html()utan att skicka args eller kwargs kommer att tas bort.Stöd för
cx_Oraclekommer att tas bort.BaseDatabaseOperations.field_cast_sql()kommer att tas bort.Aliaset
ChoicesMetatilldjango.db.models.enums.ChoicesTypekommer att tas bort.Metoden
Prefetch.get_current_queryset()kommer att tas bort.Metoden
get_prefetch_queryset()för relaterade hanterare och deskriptorer kommer att tas bort.get_prefetcher()ochprefetch_related_objects()kommer inte längre att fallbacka tillget_prefetch_queryset().Övergångsinställningen
FORMS_URLFIELD_ASSUME_HTTPSkommer att tas bort.
Se Django 5.1 release notes för mer information om dessa ändringar.
Metoderna
ModelAdmin.log_deletion()ochLogEntryManager.log_action()kommer att tas bort.Den odokumenterade funktionen
django.utils.itercompat.is_iterable()och modulendjango.utils.itercompatkommer att tas bort.Metoden
django.contrib.gis.geoip2.GeoIP2.coords()kommer att tas bort.Metoden
django.contrib.gis.geoip2.GeoIP2.open()kommer att tas bort.Stöd för att skicka positionella argument till
Model.save()ochModel.asave()kommer att tas bort.Settern för
django.contrib.gis.gdal.OGRGeometry.coord_dimkommer att tas bort.django.urls.register_converter()kommer inte längre att tillåta åsidosättande av befintliga omvandlare.Nyckelordsargumentet
checkiCheckConstraintkommer att tas bort.Attributet
OS_OPEN_FLAGSförFileSystemStoragekommer att tas bort.Metoden
get_cache_name()iFieldCacheMixinkommer att tas bort.
5.1¶
Se Django 4.2 release notes för mer information om dessa ändringar.
Metoden
BaseUserManager.make_random_password()kommer att tas bort.Modellens alternativ
Meta.index_togetherkommer att tas bort.Mallfiltret
length_iskommer att tas bort.django.contrib.auth.hashers.SHA1PasswordHasher,django.contrib.auth.hashers.UnsaltedSHA1PasswordHasherochdjango.contrib.auth.hashers.UnsaltedMD5PasswordHasherkommer att tas bort.Modellerna
django.contrib.postgres.fields.CICharField,django.contrib.postgres.fields.CIEmailFieldochdjango.contrib.postgres.fields.CITextFieldkommer att tas bort. Stub-fält kommer att finnas kvar för kompatibilitet med historiska migreringar.Mixinen
django.contrib.postgres.fields.CITextkommer att tas bort.Attributen
map_widthochmap_heightförBaseGeometryWidgetkommer att tas bort.Metoden
SimpleTestCase.assertFormsetError()kommer att tas bort.Metoden
TransactionTestCase.assertQuerysetEqual()kommer att tas bort.Stöd för att skicka kodade JSON-stränglitteraler till
JSONFieldoch tillhörande uppslagningar och uttryck kommer att tas bort.Stöd för att skicka positionella argument till
SignerochTimestampSignerkommer att tas bort.Inställningarna
DEFAULT_FILE_STORAGEochSTATICFILES_STORAGEkommer att tas bort.Funktionen
django.core.files.storage.get_storage_class()kommer att tas bort.
5.0¶
Se Django 4.0 release notes för mer information om dessa ändringar.
Testinställningen
SERIALIZEkommer att tas bort.Den odokumenterade modulen
django.utils.baseconvkommer att tas bort.Den odokumenterade modulen
django.utils.datetime_safekommer att tas bort.Standardvärdet för inställningen
USE_TZkommer att ändras frånFalsetillTrue.Standardprotokollet för webbplatskartor som byggs upp utanför en begäran ändras från
'httptill'https.Argumentet
extra_testsförDiscoverRunner.build_suite()ochDiscoverRunner.run_tests()kommer att tas bort.Aggregaten
django.contrib.postgres.aggregates.ArrayAgg,JSONBAggochStringAggreturnerarNonenär det inte finns några rader istället för[],[]respektive''.Inställningen
USE_L10Nkommer att tas bort.Övergångsinställningen
USE_DEPRECATED_PYTZkommer att tas bort.Stöd för tidszonerna
pytzkommer att tas bort.Argumentet
is_dstkommer att tas bort från: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()`
Klasserna
django.contrib.gis.admin.GeoModelAdminochOSMGeoAdminkommer att tas bort.Den odokumenterade metoden
BaseForm._html_output()kommer att tas bort.Möjligheten att returnera en
str, snarare än enSafeString, vid rendering av enErrorDictochErrorListkommer att tas bort.
Se Django 4.1 release notes för mer information om dessa ändringar.
Metoden
SitemapIndexItem.__str__()kommer att tas bort.Övergångsinställningen
CSRF_COOKIE_MASKEDkommer att tas bort.Argumentet
nameidjango.utils.functional.cached_property()kommer att tas bort.Argumentet
opclassesidjango.contrib.postgres.constraints.ExclusionConstraintkommer att tas bort.Den odokumenterade möjligheten att skicka
errors=NonetillSimpleTestCase.assertFormError()ochassertFormsetError()kommer att tas bort.django.contrib.sessions.serializers.PickleSerializerkommer att tas bort.Det är inte längre tillåtet att använda
QuerySet.iterator()på en queryset som hämtar relaterade objekt utan att ange argumentetchunk_size.Det kommer inte längre att vara tillåtet att skicka osparade modellinstanser till relaterade filter.
created=Truekommer att krävas i signaturen förRemoteUserBackend.configure_user()subklasser.Stöd för utloggning via
GET-förfrågningar idjango.contrib.auth.views.LogoutViewochdjango.contrib.auth.views.logout_then_login()kommer att tas bort.Aliaset
django.utils.timezone.utctilldatetime.timezone.utckommer att tas bort.Det kommer inte längre att vara tillåtet att skicka ett svarsobjekt och ett formulär/formset-namn till
SimpleTestCase.assertFormError()ochassertFormsetError().django.contrib.gis.admin.OpenLayersWidgetkommer att tas bort.django.contrib.auth.hashers.CryptPasswordHasherkommer att tas bort.Mallarna
"django/forms/default.html"och"django/forms/formsets/default.html"kommer att tas bort.Möjligheten att skicka
nulls_first=Falseellernulls_last=Falsetill metodernaExpression.asc()ochExpression.desc()samt uttrycketOrderBytas bort.
4.1¶
Se Django 3.2 release notes för mer information om dessa ändringar.
Stöd för att tilldela objekt som inte stöder skapande av djupa kopior med
copy.deepcopy()till klassattribut iTestCase.setUpTestData()kommer att tas bort.BaseCommand.requires_system_checksstöder inte booleska värden.Argumentet
whitelistoch attributetdomain_whitelistidjango.core.validators.EmailValidatorkommer att tas bort.Modulvariabeln
default_app_configkommer att tas bort.TransactionTestCase.assertQuerysetEqual()kommer inte längre att automatiskt anroparepr()på en queryset när den jämförs med strängvärden.django.core.cache.backends.memcached.MemcachedCachekommer att tas bort.Stöd för formatet före Django 3.2 för meddelanden som används av
django.contrib.messages.storage.cookie.CookieStoragekommer att tas bort.
4.0¶
Se Django 3.0 release notes för mer information om dessa ändringar.
django.utils.http.urlquote(),urlquote_plus(),urlunquote()ochurlunquote_plus()kommer att tas bort.django.utils.encoding.force_text()ochsmart_text()kommer att tas bort.django.utils.translation.ugettext(),ugettext_lazy(),ugettext_noop(),ungettext()ochungettext_lazy()kommer att tas bort.django.views.i18n.set_language()kommer inte längre att ställa in användarens språk irequest.session(nyckeldjango.utils.translation.LANGUAGE_SESSION_KEY).alias=Nonekommer att krävas i signaturen fördjango.db.models.Expression.get_group_by_cols()subklasser.django.utils.text.unescape_entities()kommer att tas bort.django.utils.http.is_safe_url()kommer att tas bort.
Se Django 3.1 release notes för mer information om dessa ändringar.
Inställningen
PASSWORD_RESET_TIMEOUT_DAYSkommer att tas bort.Den odokumenterade användningen av
isnulllookup med icke-booleska värden som höger sida kommer inte längre att tillåtas.Undantagsklassen
django.db.models.query_utils.InvalidQuerykommer att tas bort.Ingångspunkten
django-admin.pykommer att tas bort.Metoden
HttpRequest.is_ajax()kommer att tas bort.Stöd för kodningsformatet före Django 3.1 för cookie-värden som används av
django.contrib.messages.storage.cookie.CookieStoragekommer att tas bort.Stöd för lösenordsåterställningstoken från före Django 3.1 på administratörssidan (som använder SHA-1-hashalgoritmen) kommer att tas bort.
Stöd för kodningsformatet för sessioner före Django 3.1 kommer att tas bort.
Stöd för signaturer från före Django 3.1
django.core.signing.Signer(kodade med SHA-1-algoritmen) kommer att tas bort.Stöd för signaturerna före Django 3.1
django.core.signing.dumps()(kodade med SHA-1-algoritmen) idjango.core.signing.loads()kommer att tas bort.Stöd för användarsessioner före Django 3.1 (som använder SHA-1-algoritmen) kommer att tas bort.
Argumentet
get_responsefördjango.utils.deprecation.MiddlewareMixin.__init__()kommer att krävas och accepterar inteNone.Argumentet
providing_argsfördjango.dispatch.Signalkommer att tas bort.Argumentet
lengthfördjango.utils.crypto.get_random_string()kommer att krävas.Meddelandet
listförModelMultipleChoiceFieldkommer att tas bort.Stöd för att skicka råa kolumnaliaser till
QuerySet.order_by()kommer att tas bort.Modellen
NullBooleanFieldkommer att tas bort. Ett stub-fält kommer att finnas kvar för kompatibilitet med historiska migreringar.django.conf.urls.url()kommer att tas bort.Modellen
django.contrib.postgres.fields.JSONFieldkommer att tas bort. Ett stubbfält kommer att finnas kvar för kompatibilitet med historiska migreringar.django.contrib.postgres.forms.JSONField,django.contrib.postgres.fields.jsonb.KeyTransformochdjango.contrib.postgres.fields.jsonb.KeyTextTransformkommer att tas bort.Malltaggarna
{% ifequal %}och{% ifnotequal %}kommer att tas bort.Övergångsinställningen
DEFAULT_HASHING_ALGORITHMkommer att tas bort.
3.1¶
Se Django 2.2 release notes för mer information om dessa ändringar.
django.utils.timezone.FixedOffsetkommer att tas bort.django.core.paginator.QuerySetPaginatorkommer att tas bort.En modells
Meta.orderingkommer inte längre att påverkaGROUP BY-frågor.django.contrib.postgres.fields.FloatRangeFieldochdjango.contrib.postgres.forms.FloatRangeFieldkommer att tas bort.Inställningen
FILE_CHARSETkommer att tas bort.django.contrib.staticfiles.storage.CachedStaticFilesStoragekommer att tas bort.RemoteUserBackend.configure_user()kommer att krävarequestsom det första positionella argumentet.Stöd för
SimpleTestCase.allow_database_queriesochTransactionTestCase.multi_dbkommer att tas bort.
3.0¶
Se Django 2.0 release notes för mer information om dessa ändringar.
Modulen
django.db.backends.postgresql_psycopg2kommer att tas bort.django.shortcuts.render_to_response()kommer att tas bort.Inställningen
DEFAULT_CONTENT_TYPEkommer att tas bort.HttpRequest.xreadlines()kommer att tas bort.Stöd för argumentet
contextiField.from_db_value()ochExpression.convert_value()kommer att tas bort.Nyckelordsargumentet
field_nameiQuerySet.earliest()ochlatest()kommer att tas bort.
Se Django 2.1 release notes för mer information om dessa ändringar.
django.contrib.gis.db.models.functions.ForceRHRkommer att tas bort.django.utils.http.cookie_date()kommer att tas bort.Malltaggbiblioteken
staticfilesochadmin_statickommer att tas bort.django.contrib.staticfiles.templatetags.static()kommer att tas bort.Den shim som tillåter att
InlineModelAdmin.has_add_permission()definieras utan ettobj-argument kommer att tas bort.
2.1¶
Se Django 1.11 release notes för mer information om dessa ändringar.
contrib.auth.views.login(),logout(),password_change(),password_change_done(),password_reset(),password_reset_done(),password_reset_confirm()ochpassword_reset_complete()kommer att tas bort.Parametern
extra_contexticontrib.auth.views.logout_then_login()kommer att tas bort.django.test.runner.setup_databases()kommer att tas bort.django.utils.translation.string_concat()kommer att tas bort.django.core.cache.backends.memcached.PyLibMCCachekommer inte längre att stödja överföring avpylibmcbeteendeinställningar som toppnivåattribut förOPTIONS.Parametern
hostidjango.utils.http.is_safe_url()kommer att tas bort.Avstängning av undantag som uppstår vid rendering av malltaggen
{% include %}kommer att tas bort.DatabaseIntrospection.get_indexes()kommer att tas bort.Metoden
authenticate()för autentiseringsbackends kräverrequestsom det första positionella argumentet.Dekoratorn
django.db.models.permalink()kommer att tas bort.Inställningen
USE_ETAGSkommer att tas bort.CommonMiddlewareochdjango.utils.cache.patch_response_headers()kommer inte längre att ställa in ETags.Attributet
Model._meta.has_auto_fieldkommer att tas bort.url():s stöd för inline-flaggor i grupper av reguljära uttryck ((?i),(?L),(?m),(?s)och(?u)) kommer att tas bort.Stöd för
Widget.render()-metoder utanrenderer-argumentet kommer att tas bort.
2.0¶
Se Django 1.9 release notes för mer information om dessa ändringar.
Argumentet
weaktilldjango.dispatch.signals.Signal.disconnect()kommer att tas bort.django.db.backends.base.BaseDatabaseOperations.check_aggregate_support()kommer att tas bort.Paketet
django.forms.extraskommer att tas bort.Hjälpen
assignment_tagkommer att tas bort.Argumentet
hosttillassertsRedirectskommer att tas bort. Kompatibilitetslagret som gör att absoluta webbadresser kan betraktas som likvärdiga med relativa när sökvägen är identisk kommer också att tas bort.Field.relkommer att tas bort.attributet
Field.remote_field.tokommer att tas bort.Argumentet
on_deleteförForeignKeyochOneToOneFieldkommer att krävas.django.db.models.fields.add_lazy_relation()kommer att tas bort.När stöd för tidszoner är aktiverat kommer databasbackends som inte stöder tidszoner inte längre att konvertera medvetna datatider till naiva värden i UTC när sådana värden skickas som parametrar till SQL-frågor som körs utanför ORM, t.ex. med
cursor.execute().Dekoratorn
django.contrib.auth.tests.utils.skipIfCustomUser()kommer att tas bort.Klasserna
GeoManagerochGeoQuerySetkommer att tas bort.Modulen
django.contrib.gis.geoipkommer att tas bort.supports_recursion-kontrollen för mallladdare kommer att tas bort från:django.template.engine.Engine.find_template()`django.template.loader_tags.ExtendsNode.find_template()django.template.loaders.base.Loader.supports_recursion()django.template.loaders.cached.Loader.supports_recursion()
Mallladdningsmetoderna
load_template()ochload_template_sources()kommer att tas bort.Argumentet
template_dirsför mallladdare kommer att tas bort:django.template.loaders.base.Loader.get_template()django.template.loaders.cached.Loader.cache_key()`django.template.loaders.cached.Loader.get_template()django.template.loaders.cached.Loader.get_template_sources()django.template.loaders.filesystem.Loader.get_template_sources()`
Metoden
django.template.loaders.base.Loader.__call__()kommer att tas bort.Stöd för anpassade felvyer med en enda positionell parameter kommer att tas bort.
Attributet
mime_typefördjango.utils.feedgenerator.Atom1Feedochdjango.utils.feedgenerator.RssFeedkommer att tas bort till förmån förcontent_type.Argumentet
app_nametilldjango.conf.urls.include()kommer att tas bort.Stöd för att skicka en 3-tupel som första argument till
include()kommer att tas bort.Stöd för att ange en URL-instansnamnrymd utan en applikationsnamnrymd kommer att tas bort.
Field._get_val_from_obj()kommer att tas bort till förmån förField.value_from_object().django.template.loaders.eggs.Loaderkommer att tas bort.Parametern
current_appför vyernacontrib.authkommer att tas bort.Nyckelordsargumentet
callable_objtillSimpleTestCase.assertRaisesMessage()kommer att tas bort.Stöd för attributet
allow_tagspåModelAdmin-metoder kommer att tas bort.Nyckelordsargumentet
enclosuretillSyndicationFeed.add_item()kommer att tas bort.Aliasen
django.template.loader.LoaderOriginochdjango.template.base.StringOriginfördjango.template.base.Originkommer att tas bort.
Se Django 1.10 release notes för mer information om dessa ändringar.
Alternativet
makemigrations --exitkommer att tas bort.Stöd för direkt tilldelning till en omvänd främmande nyckel eller en relation mellan många och många kommer att tas bort.
Metoderna
get_srid()ochset_srid()idjango.contrib.gis.geos.GEOSGeometrykommer att tas bort.Metoderna
get_x(),set_x(),get_y(),set_y(),get_z()ochset_z()idjango.contrib.gis.geos.Pointkommer att tas bort.Metoderna
get_coords()ochset_coords()idjango.contrib.gis.geos.Pointkommer att tas bort.Egenskapen
cascaded_unionfördjango.contrib.gis.geos.MultiPolygonkommer att tas bort.django.utils.functional.allow_lazy()kommer att tas bort.Alternativet
shell --plainkommer att tas bort.Modulen
django.core.urlresolverskommer att tas bort.Modellen
CommaSeparatedIntegerFieldkommer att tas bort. Ett stub-fält kommer att finnas kvar för kompatibilitet med historiska migreringar.Stöd för mallmetoden
Context.has_key()kommer att tas bort.Stöd för metoderna
django.core.files.storage.Storage.accessed_time(),created_time()ochmodified_time()kommer att tas bort.Stöd för frågeuppslagningar som använder modellnamnet när
Meta.default_related_nameär inställt kommer att tas bort.Frågeuppslagningen
__searchoch metodenDatabaseOperations.fulltext_search_sql()kommer att tas bort.Shim för att stödja anpassade relaterade manager-klasser utan en
_apply_rel_filters()-metod kommer att tas bort.Att använda
User.is_authenticated()ochUser.is_anonymous()som metoder kommer inte längre att stödjas.Det privata attributet
virtual_fieldsiModel._metakommer att tas bort.De privata nyckelordsargumenten
virtual_onlyiField.contribute_to_class()ochvirtualiModel._meta.add_field()kommer att tas bort.Vyerna
javascript_catalog()ochjson_catalog()kommer att tas bort.Funktionen
django.contrib.gis.utils.precision_wkt()kommer att tas bort.I arv med flera tabeller kommer implicit marknadsföring av en
OneToOneFieldtill enparent_linkatt tas bort.Stöd för
Widget._format_value()kommer att tas bort.FileFieldmetodernaget_directory_name()ochget_filename()kommer att tas bort.Funktionen
mark_for_escaping()och de klasser den använder:EscapeData,EscapeBytes,EscapeText,EscapeStringochEscapeUnicodekommer att tas bort.Filtret
escapekommer att ändras till att användadjango.utils.html.conditional_escape().Manager.use_for_related_fieldskommer att tas bort.Modellens
Manager-arv kommer att följa MRO-arvsreglerna ochMeta.manager_inheritance_from_futureför att välja detta beteende kommer att tas bort.Stöd för gammaldags middleware med hjälp av
settings.MIDDLEWARE_CLASSESkommer att tas bort.
1.10¶
Se Django 1.8 release notes för mer information om dessa ändringar.
Stöd för att anropa en
SQLCompilerdirekt som ett alias för att anropa dessquote_name_unless_alias-metod kommer att tas bort.cycleochfirstofmalltaggar kommer att tas bort frånfuturemalltaggsbiblioteket (används under 1.6/1.7 utfasningsperioden).django.conf.urls.patterns()kommer att tas bort.Stöd för argumentet
prefixtilldjango.conf.urls.i18n.i18n_patterns()kommer att tas bort.SimpleTestCase.urlskommer att tas bort.Om man använder ett felaktigt antal uppackade värden i
for-malltaggen kommer ett undantag att uppstå istället för ett tyst fel.Möjligheten att vända webbadresser som använder en prickad Python-sökväg kommer att tas bort.
Möjligheten att använda en prickad Python-sökväg för inställningarna
LOGIN_URLochLOGIN_REDIRECT_URLkommer att tas bort.Stöd för
optparsekommer att tas bort för anpassade hanteringskommandon (ersätts avargparse).Klassen
django.core.management.NoArgsCommandkommer att tas bort. AnvändBaseCommandistället, som inte tar några argument som standard.modulen
django.core.context_processorskommer att tas bort.modulen
django.db.models.sql.aggregateskommer att tas bort.modulen
django.contrib.gis.db.models.sql.aggregateskommer att tas bort.Följande metoder och egenskaper för
django.db.sql.query.Querykommer att tas bort:Egenskaper:
aggregatochaggregat_selectMetoder:
add_aggregate,set_aggregate_maskochappend_aggregate_mask.
django.template.resolve_variablekommer att tas bort.Följande privata API:er kommer att tas bort från
django.db.models.options.Options(Model._meta):get_field_by_name()get_all_field_names()get_fields_with_model()get_konkreta_fält_med_modell()`get_m2m_med_modell()`get_all_related_objects()get_all_related_objects_with_model()get_all_related_many_to_many_objects()get_all_related_m2m_objects_with_model()
Argumentet
error_messageidjango.forms.RegexFieldkommer att tas bort.Filtret
unordered_liststöder inte längre listor i gammal stil.Stöd för sträng-”view”-argument till
url()kommer att tas bort.Den bakåtkompatibla shim för att byta namn på
django.forms.Form._has_changed()tillhas_changed()kommer att tas bort.Mallfiltret
removetagskommer att tas bort.Funktionerna
remove_tags()ochstrip_entities()idjango.utils.htmlkommer att tas bort.Argumentet
is_admin_sitetilldjango.contrib.auth.views.password_reset()kommer att tas bort.django.db.models.field.subclassing.SubfieldBasekommer att tas bort.django.utils.checksumskommer att tas bort; dess funktionalitet ingår idjango-localflavor1.1+.Attributet
original_content_type_idpådjango.contrib.admin.helpers.InlineAdminFormkommer att tas bort.Den bakåtkompatibla shim som tillåter att
FormMixin.get_form()definieras utan något standardvärde för dessform_class-argument kommer att tas bort.Följande inställningar kommer att tas bort:
TILLÅTET_INKLUDERA_RÖTTERTEMPLATE_KONTEXT_PROCESSORERTEMPLATE_DEBUGTEMPLATE_DIRSTEMPLATE_LADDARETEMPLATE_STRING_IF_INVALID
Det bakåtkompatibla aliaset
django.template.loader.BaseLoaderkommer att tas bort.Django-mallobjekt som returneras av
get_template()ochselect_template()accepterar inte längre enContexti sinrender()-metod.Template response APIs kommer att genomdriva användningen av
dictoch backend-beroende mallobjekt istället förContextrespektiveTemplate.Parametern
current_appför följande funktioner och klasser kommer att tas bort:django.shortcuts.render()django.template.Context()django.template.RequestContext()`django.template.response.TemplateResponse()``
Parametrarna
dictionaryochcontext_instanceför följande funktioner kommer att tas bort:django.shortcuts.render()django.shortcuts.render_to_response()django.template.loader.render_to_string()
Parametern
dirsför följande funktioner kommer att tas bort:django.template.loader.get_template()django.template.loader.select_template()django.shortcuts.render()django.shortcuts.render_to_response()
Sessionsverifiering kommer att aktiveras oavsett om
'django.contrib.auth.middleware.SessionAuthenticationMiddleware'`finns iMIDDLEWARE_CLASSESeller inte.Det privata attributet
django.db.models.Field.relatedkommer att tas bort.Alternativet
--listi hanteringskommandotmigratekommer att tas bort.Malltaggen
ssikommer att tas bort.Stöd för jämförelseoperatorn
=i malltaggenifkommer att tas bort.De shims för bakåtkompatibilitet som tillåter att
Storage.get_available_name()ochStorage.save()definieras utan ettmax_length-argument kommer att tas bort.Stöd för den äldre syntaxen
%(<foo>)siModelFormMixin.success_urlkommer att tas bort.aggregatmetoderna
GeoQuerySetcollect(),extent(),extent3d(),make_line()ochunionagg()kommer att tas bort.Möjligheten att ange
ContentType.namenär man skapar en innehållstypsinstans kommer att tas bort.Stöd för den gamla signaturen för
allow_migratekommer att tas bort. Det ändrades frånallow_migrate(self, db, model)tillallow_migrate(self, db, app_label, model_name=None, **hints).Stöd för syntaxen
{% cycle %}som använder kommaseparerade argument kommer att tas bort.Varningen som
Signerutfärdar när den får en ogiltig separator kommer att bli ett undantag.
1.9¶
Se Django 1.7 release notes för mer information om dessa ändringar.
django.utils.dictconfigkommer att tas bort.django.utils.importlibkommer att tas bort.django.utils.tzinfokommer att tas bort.django.utils.unittestkommer att tas bort.Kommandot
syncdbkommer att tas bort.django.db.models.signals.pre_syncdbochdjango.db.models.signals.post_syncdbkommer att tas bort.allow_syncdbpå databasroutrar kommer inte längre automatiskt att bliallow_migrate.Automatisk synkronisering av appar utan migreringar kommer att tas bort. Migreringar kommer att bli obligatoriska för alla appar om du inte anger alternativet
--run-syncdbtillmigrate.SQL-hanteringskommandona för appar utan migreringar,
sql,sqlall,sqlclear,sqldropindexesochsqlindexes, kommer att tas bort.Stöd för automatisk laddning av
initial_datafixturer och initiala SQL-data kommer att tas bort.Alla modeller måste definieras i en installerad applikation eller deklarera en explicit
app_label. Dessutom kommer det inte att vara möjligt att importera dem innan deras applikation har laddats. I synnerhet kommer det inte att vara möjligt att importera modeller inuti rotpaketet för deras applikation.Modellen och formuläret
IPAddressFieldkommer att tas bort. Ett stub-fält kommer att finnas kvar för kompatibilitet med historiska migreringar.AppCommand.handle_app()kommer inte längre att stödjas.RequestSiteochget_current_site()kommer inte längre att vara importerbara fråndjango.contrib.sites.models.FastCGI-stöd via hanteringskommandot
runfcgikommer att tas bort. Distribuera ditt projekt med hjälp av WSGI.django.utils.datastructures.SortedDictkommer att tas bort. Användcollections.OrderedDictfrån Pythons standardbibliotek istället.ModelAdmin.declared_fieldsetskommer att tas bort.Förekomster av
util.pyi Djangos kodbas har bytt namn tillutils.pyi ett försök att förena alla util- och utils-referenser. De moduler som gav bakåtkompatibilitet kommer att tas bort:django.contrib.admin.utildjango.contrib.gis.db.backends.utildjango.db.backends.utildjango.forms.util
ModelAdmin.get_formsetskommer att tas bort.Den shim för bakåtkompatibilitet som infördes för att byta namn på metoden
BaseMemcachedCache._get_memcache_timeout()tillget_backend_timeout()kommer att tas bort.Alternativen
--naturaloch-nfördumpdatakommer att tas bort.Argumentet
use_natural_keysförserializers.serialize()kommer att tas bort.Privata API
django.forms.forms.get_declared_fields()kommer att tas bort.Möjligheten att använda en
SplitDateTimeWidgetmedDateTimeFieldkommer att tas bort.Egenskapen
WSGIRequest.REQUESTkommer att tas bort.Klassen
django.utils.datastructures.MergeDictkommer att tas bort.Språkkoderna
zh-cnochzh-twkommer att tas bort och har ersatts av språkkodernazh-hansrespektivezh-hant.Den interna
django.utils.functional.memoizekommer att tas bort.django.core.cache.get_cachekommer att tas bort. Lägg till lämpliga poster iCACHESoch använddjango.core.cache.cachesistället.django.db.models.loadingkommer att tas bort.Det kommer inte längre att vara möjligt att skicka anropsbara argument till querysets.
BaseCommand.requires_model_validationkommer att tas bort till förmån förrequires_system_checks. Admin-validatorer kommer att ersättas av admin-kontroller.Attributen
ModelAdmin.validator_classochdefault_validator_classkommer att tas bort.ModelAdmin.validate()kommer att tas bort.django.db.backends.DatabaseValidation.validate_fieldkommer att tas bort till förmån för metodencheck_field.Ledningskommandot
validatekommer att tas bort.django.utils.module_loading.import_by_pathkommer att tas bort till förmån fördjango.utils.module_loading.import_string.`ssiochurlmalltaggar kommer att tas bort frånfuturemalltaggbiblioteket (används under 1.3/1.4 utfasningsperioden).django.utils.text.javascript_quotekommer att tas bort.Databasens testinställningar som självständiga poster i databasinställningarna, med prefixet
TEST_, kommer inte längre att stödjas.Alternativet
cache_choicestillModelChoiceFieldochModelMultipleChoiceFieldkommer att tas bort.Standardvärdet för attributet
RedirectView.permanentändras frånTruetillFalse.django.contrib.sitemaps.FlatPageSitemapkommer att tas bort till förmån fördjango.contrib.flatpages.sitemaps.FlatPageSitemap.Privata API
django.test.utils.TestTemplateLoaderkommer att tas bort.Modulen
django.contrib.contenttypes.generickommer att tas bort.Privata API:er
django.db.models.sql.where.WhereNode.make_atom()ochdjango.db.models.sql.where.Constraintkommer att tas bort.
1.8¶
Se Django 1.6 release notes för mer information om dessa ändringar.
django.contrib.commentskommer att tas bort.Följande API:er för transaktionshantering kommer att tas bort:
TransactionMiddleware,dekoratörerna och kontexthanterarna
autocommit,commit_on_successochcommit_manually, definierade idjango.db.transaction,funktionerna
commit_unless_managedochrollback_unless_managed, som också definieras idjango.db.transaction,inställningen
TRANSACTIONS_MANAGED.
Malltaggarna
cycleochfirstofkommer automatiskt att utläsa sina argument. I 1.6 och 1.7 tillhandahålls detta beteende av versionen av dessa taggar i malltaggbiblioteketfuture.Inställningen
SEND_BROKEN_LINK_EMAILSkommer att tas bort. Lägg tilldjango.middleware.common.BrokenLinkEmailsMiddlewaremiddleware till dinMIDDLEWARE_CLASSESinställning istället.django.middleware.doc.XViewMiddlewarekommer att tas bort. Använddjango.contrib.admindocs.middleware.XViewMiddlewareistället.Model._meta.module_namedöptes om tillmodel_name.Ta bort de bakåtkompatibla shims som infördes för att byta namn på
get_query_setoch liknande queryset-metoder. Detta påverkar följande klasser:BaseModelAdmin,ChangeList,BaseCommentNode,GenericForeignKey,Manager,SingleRelatedObjectDescriptorochReverseSingleRelatedObjectDescriptor.Ta bort de bakåtkompatibla shims som infördes för att byta namn på attributen
ChangeList.root_query_setochChangeList.query_set.django.views.defaults.shortcutkommer att tas bort, som en del av målet att ta bort alladjango.contrib-referenser från kärnan i Django-kodbasen. Använd iställetdjango.contrib.contenttypes.views.shortcut.django.conf.urls.shortcutkommer också att tas bort.Stöd för modulen Python Imaging Library (PIL) kommer att tas bort, eftersom den inte längre verkar underhållas aktivt och inte fungerar på Python 3.
Följande privata API:er kommer att tas bort:
django.db.backenddjango.db.close_connection()django.db.backends.creation.BaseDatabaseCreation.set_autocommit()`django.db.transaction.is_managed()``django.db.transaction.managed()
django.forms.widgets.RadioInputkommer att tas bort till förmån fördjango.forms.widgets.RadioChoiceInput.Modulen
django.test.simpleoch klassendjango.test.simple.DjangoTestSuiteRunnerkommer att tas bort. Använd iställetdjango.test.runner.DiscoverRunner.Modulen
django.test._doctestkommer att tas bort. Använd istället doctest-modulen från Pythons standardbibliotek.Inställningen
CACHE_MIDDLEWARE_ANONYMOUS_ONLYkommer att tas bort.Användning av den hårdkodade Håll ner ”Control”, eller ”Command” på en Mac, för att välja mer än en. sträng för att åsidosätta eller lägga till användartillhandahållen
help_texti formulär för ManyToMany-modellfält kommer inte att utföras av Django längre, varken i modell- eller formulärskiktet.Metoderna
Model._meta.get_(add|change|delete)_permissionkommer att tas bort.Sessionsnyckeln
django_languagekommer inte längre att läsas för bakåtkompatibilitet.Geografiska webbplatskartor kommer att tas bort (
django.contrib.gis.sitemaps.views.indexochdjango.contrib.gis.sitemaps.views.sitemap).django.utils.html.fix_ampersands, mallfiltretfix_ampersandsochdjango.utils.html.clean_htmlkommer att tas bort efter en påskyndad utfasning.
1.7¶
Se Django 1.5 release notes för mer information om dessa ändringar.
Modulen
django.utils.simplejsonkommer att tas bort. Standardbiblioteket tillhandahållerjsonsom bör användas istället.Funktionen
django.utils.itercompat.productkommer att tas bort. Den inbyggda Python-versionen bör användas istället.Automatisk korrigering av INSTALLED_APPS- och TEMPLATE_DIRS-inställningar när de anges som en vanlig sträng istället för en tupel kommer att tas bort och ge upphov till ett undantag.
Argumentet
mimetypetill metoderna__init__iHttpResponse,SimpleTemplateResponse, ochTemplateResponse, kommer att tas bort.content_typebör användas istället. Detta gäller även för genvägenrender_to_response()och sitemap-vyerna,index()ochsitemap().När
HttpResponseinstansieras med en iterator, eller närcontentsätts till en iterator, kommer den iteratorn att konsumeras omedelbart.Inställningen
AUTH_PROFILE_MODULEoch metodenget_profile()i User-modellen kommer att tas bort.Ledningskommandot
cleanupkommer att tas bort. Det ersätts avclearsessions.Skriptet
daily_cleanup.pykommer att tas bort.Nyckelordsargumentet
depthkommer att tas bort frånselect_related().De odokumenterade funktionerna
get_warnings_state()/restore_warnings_state()fråndjango.test.utilsoch metodernasave_warnings_state()/restore_warnings_state()django.test.*TestCase är föråldrade. Använd iställetwarnings.catch_warningskontexthanterare som finns tillgänglig från och med Python 2.6.Den odokumenterade metoden
check_for_test_cookieiAuthenticationFormkommer att tas bort efter en accelererad depreciering. Användare som underklassar detta formulär bör ta bort anrop till denna metod och istället se till att deras auth-relaterade vyer är CSRF-skyddade, vilket säkerställer att cookies är aktiverade.Den version av
django.contrib.auth.views.password_reset_confirm()som stöder base36-kodade användar-ID (django.contrib.auth.views.password_reset_confirm_uidb36) kommer att tas bort. Om din webbplats har kört Django 1.6 i mer änPASSWORD_RESET_TIMEOUT_DAYS, kommer denna ändring inte att ha någon effekt. Om inte, kommer alla länkar för återställning av lösenord som genereras innan du uppgraderar till Django 1.7 inte att fungera efter uppgraderingen.Mix-in
django.utils.encoding.StrAndUnicodekommer att tas bort.
1.6¶
Se Django 1.4 release notes för mer information om dessa ändringar.
django.contrib.databrowsekommer att tas bort.django.contrib.localflavorkommer att tas bort efter en snabbare utfasning.django.contrib.markupkommer att tas bort efter en påskyndad avskrivning.Kompatibilitetsmodulerna
django.utils.copycompatochdjango.utils.hashcompatsamt funktionernadjango.utils.itercompat.allochdjango.utils.itercompat.anykommer att tas bort. De inbyggda Python-versionerna bör användas istället.Dekoratorerna
csrf_response_exemptochcsrf_view_exemptkommer att tas bort. Sedan 1.4 harcsrf_response_exemptvarit en no-op (den returnerar samma funktion), ochcsrf_view_exempthar varit en synonym fördjango.views.decorators.csrf.csrf_exempt, som bör användas för att ersätta den.Backend
django.core.cache.backends.memcached.CacheClassdelades upp i två i Django 1.3 för att införa stöd för PyLibMC. Den historiskaCacheClasskommer att tas bort till förmån fördjango.core.cache.backends.memcached.MemcachedCache.De UK-prefixerade objekten i
django.contrib.localflavor.ukkommer endast att vara tillgängliga genom sina GB-prefixerade namn (GB är den korrekta ISO 3166-koden för Storbritannien).Inställningarna
IGNORABLE_404_STARTSochIGNORABLE_404_ENDShar ersatts avIGNORABLE_404_URLSi utgåvan 1.4. De kommer att tas bort.Formulärguiden har omarbetats för att använda klassbaserade vyer med pluggbara backends i 1.4. Den tidigare implementationen kommer att tas bort.
Äldre sätt att anropa
cache_page()kommer att tas bort.Den bakåtkompatibla shim som automatiskt lägger till ett debug-false-filter i logghanteraren
'mail_adminskommer att tas bort. InställningenLOGGINGbör inkludera detta filter explicit om det önskas.De inbyggda trunkeringsfunktionerna
django.utils.text.truncate_words()ochdjango.utils.text.truncate_html_words()kommer att tas bort till förmån för klassendjango.utils.text.Truncator.Klassen
django.contrib.gis.geoip.GeoIPflyttades tilldjango.contrib.gis.geoipi 1.4 – genvägen idjango.contrib.gis.utilskommer att tas bort.django.conf.urls.defaultskommer att tas bort. Funktionernainclude(),patterns(), ochurl(), plushandler404ochhandler500är nu tillgängliga viadjango.conf.urls.Funktionerna
setup_environ()ochexecute_manager()kommer att tas bort fråndjango.core.management. Detta innebär också att den gamla (pre-1.4) stilen förmanage.py-filen inte längre kommer att fungera.Att ställa in flaggorna
is_safeochneeds_autoescapesom attribut för mallfilterfunktioner kommer inte längre att stödjas.Attributet
HttpRequest.raw_post_datadöptes om tillHttpRequest.bodyi 1.4. Bakåtkompatibiliteten kommer att tas bort –HttpRequest.raw_post_datakommer inte längre att fungera.Värdet för parametern
post_url_continueiModelAdmin.response_add()måste vara antingenNone(för att omdirigera till det nyskapade objektets redigeringssida) eller en förformaterad webbadress. Strängformat, som det tidigare standardvärdet'../%s/', kommer inte att accepteras längre.
1.5¶
Se Django 1.3 release notes för mer information om dessa ändringar.
Att starta Django utan en
SECRET_KEYkommer att resultera i ett undantag snarare än enDeprecationWarning. (Detta är accelererat från den vanliga föråldringsvägen; se Django 1.4 release notes.)Förfrågningshanteraren
mod_pythonkommer att tas bort. Hanteringenmod_wsgibör användas istället.Attributet
templatepådjango.test.client.Response-objekt som returneras av test client kommer att tas bort. Attributettemplatesbör användas istället.django.test.simple.DjangoTestRunnerkommer att tas bort. Använd istället enunittest-nativ klass. Funktionerna idjango.test.simple.DjangoTestRunner(inklusive fail-fast och Ctrl-C testavslut) kan tillhandahållas avunittest.TextTestRunner.Den odokumenterade funktionen
django.contrib.formtools.utils.security_hashkommer att tas bort, använd iställetdjango.contrib.formtools.utils.form_hmacDe funktionsbaserade generiska vymodulerna kommer att tas bort till förmån för deras klassbaserade motsvarigheter, som beskrivs här.
django.core.servers.basehttp.AdminMediaHandlerkommer att tas bort. I stället användsdjango.contrib.staticfiles.handlers.StaticFilesHandler.Malltaggbiblioteket
adminmediaoch malltaggen{% admin_media_prefix %}kommer att tas bort till förmån för den generiska hanteringen av statiska filer. (Detta är snabbare än den vanliga utfasningsvägen; se Django 1.4 release notes.)Malltaggarna
urloch`ssikommer att ändras så att det första argumentet i varje tagg är en mallvariabel, inte en implicit sträng. I 1.4 tillhandahålls detta beteende av en version av taggen i malltaggsbiblioteketfuture.Hanteringskommandona
resetochsqlresetkommer att tas bort.Autentiseringsbackends måste ha stöd för att en inaktiv användare skickas till alla metoder som hanterar behörigheter. Attributet
supports_inactive_userkommer inte längre att kontrolleras och kan tas bort från anpassade backends.transform()kommer att ge upphov till enGEOSExceptionnär den anropas på en geometri utan SRID-värde.django.http.CompatCookiekommer att tas bort till förmån fördjango.http.SimpleCookie.django.core.context_processors.PermWrapperochdjango.core.context_processors.PermLookupDictkommer att tas bort till förmån för motsvarandedjango.contrib.auth.context_processors.PermWrapperrespektivedjango.contrib.auth.context_processors.PermLookupDict.Inställningarna
MEDIA_URLellerSTATIC_URLmåste sluta med ett efterföljande snedstreck för att säkerställa att det finns ett konsekvent sätt att kombinera sökvägar i mallar.django.db.models.fields.URLField.verify_existskommer att tas bort. Funktionen utrangerades i 1.3.1 på grund av svårlösta säkerhets- och prestandaproblem och kommer att följa en något snabbare tidsram för utrangeringen.Översättningar som ligger under den så kallade projektsökvägen kommer att ignoreras under översättningsbyggnadsprocessen som utförs vid körning. Inställningen
LOCALE_PATHSkan användas för samma uppgift genom att inkludera filsystemets sökväg till enlocale-katalog som innehåller icke-appspecifika översättningar i dess värde.Appen Markup contrib kommer inte längre att stödja versioner av Python-Markdown-biblioteket som är äldre än 2.1. En påskyndad tidslinje användes eftersom detta var en säkerhetsrelaterad utfasning.
Inställningen
CACHE_BACKENDkommer att tas bort. Cache-backend(s) bör anges i inställningenCACHES.
1.4¶
Se Django 1.2 release notes för mer information om dessa ändringar.
CsrfResponseMiddlewareochCsrfMiddlewarekommer att tas bort. Använd malltaggen{% csrf_token %}i formulär för att aktivera CSRF-skydd.CsrfViewMiddlewarekvarstår och är aktiverat som standard.Den gamla importen för CSRF-funktionalitet (
django.contrib.csrf.*), som flyttades till kärnan i 1.2, kommer att tas bort.Modulen
django.contrib.gis.db.backendkommer att tas bort till förmån för de specifika backends.SMTPConnectionkommer att tas bort till förmån för ett generiskt API för e-postbackend.De många SQL-genereringsfunktionerna på databasens backend kommer att tas bort.
Möjligheten att använda
DATABASE_*-familjen av toppnivåinställningar för att definiera databasanslutningar kommer att tas bort.Möjligheten att använda kortfattad notation för att ange en databasbackend (t.ex.
sqlite3istället fördjango.db.backends.sqlite3) kommer att tas bort.Metoderna
get_db_prep_save,get_db_prep_valueochget_db_prep_lookupmåste ha stöd för flera databaser.Modellen
Message(idjango.contrib.auth), dess relaterade manager i modellenUser(user.message_set), och de associerade metoderna (user.message_set.create()ochuser.get_and_delete_messages()), kommer att tas bort. Ramverket messages bör användas istället. Den relaterade variabelnmessagessom returneras av auth-kontextprocessorn kommer också att tas bort. Observera att detta innebär att admin-programmet kommer att vara beroende av kontextprocessorn för meddelanden.Autentiseringsbackends måste ha stöd för parametern
objför behörighetskontroll. Attributetupports_object_permissionskommer inte längre att kontrolleras och kan tas bort från anpassade backends.Autentiseringsbackends måste stödja klassen
AnonymousUsersom skickas till alla metoder som hanterar behörigheter. Variabelnupports_anonymous_userkommer inte längre att kontrolleras och kan tas bort från anpassade backends.Möjligheten att ange en anropsbar malladdare i stället för en
Loader-klass kommer att tas bort, liksomload_template_source-funktionerna som ingår i de inbyggda malladdarna för bakåtkompatibilitet.django.utils.translation.get_date_formats()ochdjango.utils.translation.get_partial_date_formats(). Dessa funktioner kommer att tas bort; använd den lokalmedvetnadjango.utils.formats.get_format()för att få lämpliga format.I
django.forms.fieldskommer konstanterna:DEFAULT_DATE_INPUT_FORMATS,DEFAULT_TIME_INPUT_FORMATSochDEFAULT_DATETIME_INPUT_FORMATSatt tas bort. Använddjango.utils.formats.get_format()för att få lämpliga format.Möjligheten att använda en funktionsbaserad testlöpare kommer att tas bort, tillsammans med testlöparen
django.test.simple.run_tests().Vyn
views.feed()och klassenfeeds.Feedidjango.contrib.syndicationkommer att tas bort. Den klassbaserade vynviews.Feedbör användas istället.django.core.context_processors.auth. Denna utgåva kommer att ta bort den gamla metoden till förmån för den nya metoden idjango.contrib.auth.context_processors.auth.Databasbackend
postgresqlkommer att tas bort, använd istället backendpostgresql_psycopg2.Språkkoden
nokommer att tas bort och har ersatts av språkkodennb.Autentiseringsbackends måste definiera det booleska attributet
supports_inactive_userfram till version 1.5 då det kommer att antas att alla backends hanterar inaktiva användare.django.db.models.fields.XMLFieldkommer att tas bort. Detta avförklarades som en del av 1.3-versionen. Ett accelererat avvecklingsschema har använts eftersom fältet inte har utfört någon roll utöver den som en enkelTextFieldsedan borttagandet avoldforms. Alla användningar avXMLFieldkan ersättas medTextField.Den odokumenterade parametern
mixintill metodenopen()idjango.core.files.storage.Storage(och underklasser) kommer att tas bort.
1.3¶
Se Django 1.1 release notes för mer information om dessa ändringar.
AdminSite.root(). Denna metod för att koppla upp admin-URL:erna kommer att tas bort till förmån för att inkluderaadmin.site.urls.Autentiseringsbackends måste definiera de booleska attributen
supports_object_permissionsochupports_anonymous_userfram till version 1.4, då det kommer att antas att alla backends stöder dessa alternativ.