本文件概述了在删除后,按照 deprecation policy . 有关每个项目的更多详细信息,通常可以在之前两个版本的发行说明中找到。
请参阅 Django 5.0 release notes 有关这些更改的更多详细信息。
这个 DjangoDivFormRenderer
和 Jinja2DivFormRenderer
过渡表单呈现器将被删除。
支持将位置参数传递给 BaseConstraint
将被移除。
request
将需要在以下文件的签名中填写 ModelAdmin.lookup_allowed()
子类。
这个 django.db.models.sql.datastructures.Join
将不再退回到 get_joining_columns()
。
这个 get_joining_columns()
方法论 ForeignObject
和 ForeignObjectRel
将被移除。
这个 ForeignObject.get_reverse_joining_columns()
方法将被移除。
的默认方案 forms.URLField
将从 "http"
至 "https"
。
支持呼叫 format_html()
如果没有通过ARG或KWARG,将被移除。
支持 cx_Oracle
将被移除。
BaseDatabaseOperations.field_cast_sql()
将被移除。
这个 ChoicesMeta
别名到 django.db.models.enums.ChoicesType
将被移除。
这个 Prefetch.get_current_queryset()
方法将被移除。
这个 get_prefetch_queryset()
相关管理器和描述符的方法将被移除。
get_prefetcher()
和 prefetch_related_objects()
将不再退回到 get_prefetch_queryset()
。
这个 FORMS_URLFIELD_ASSUME_HTTPS
过渡设置将被删除。
请参阅 Django 5.1 release notes 有关这些更改的更多详细信息。
这个 ModelAdmin.log_deletion()
和 LogEntryManager.log_action()
方法将被移除。
未登记的人 django.utils.itercompat.is_iterable()
函数和 django.utils.itercompat
模块将被移除。
这个 django.contrib.gis.geoip2.GeoIP2.coords()
方法将被移除。
这个 django.contrib.gis.geoip2.GeoIP2.open()
方法将被移除。
请参阅 Django 4.2 release notes 有关这些更改的更多详细信息。
这个 BaseUserManager.make_random_password()
方法将被移除。
模特的 Meta.index_together
选项将被删除。
这个 length_is
模板筛选器将被删除。
这个 django.contrib.auth.hashers.SHA1PasswordHasher
, django.contrib.auth.hashers.UnsaltedSHA1PasswordHasher
,以及 django.contrib.auth.hashers.UnsaltedMD5PasswordHasher
将被移除。
模型 django.contrib.postgres.fields.CICharField
, django.contrib.postgres.fields.CIEmailField
,以及 django.contrib.postgres.fields.CITextField
将被移除。存根字段将保留,以便与历史迁移兼容。
这个 django.contrib.postgres.fields.CIText
将删除Mixin。
这个 map_width
和 map_height
的属性 BaseGeometryWidget
将被移除。
这个 SimpleTestCase.assertFormsetError()
方法将被移除。
这个 TransactionTestCase.assertQuerysetEqual()
方法将被移除。
支持将编码的JSON字符串文字传递给 JSONField
并且关联的查找和表达式将被删除。
支持将位置参数传递给 Signer
和 TimestampSigner
将被移除。
这个 DEFAULT_FILE_STORAGE
和 STATICFILES_STORAGE
设置将被删除。
这个 django.core.files.storage.get_storage_class()
函数将被删除。
请参阅 Django 4.0 release notes 有关这些更改的更多详细信息,请参阅。
这个 SERIALIZE
测试设置将被删除。
未登记的人 django.utils.baseconv
模块将被移除。
未登记的人 django.utils.datetime_safe
模块将被移除。
的缺省值 USE_TZ
设置将从 False
至 True
。
在请求上下文之外构建的站点地图的默认站点地图协议将从 'http'
至 'https'
。
这个 extra_tests
论据 DiscoverRunner.build_suite()
和 DiscoverRunner.run_tests()
将被移除。
这个 django.contrib.postgres.aggregates.ArrayAgg
, JSONBAgg
,以及 StringAgg
聚合将返回 None
当没有行而不是 []
, []
,以及 ''
分别进行了分析。
这个 USE_L10N
设置将被删除。
这个 USE_DEPRECATED_PYTZ
过渡设置将被删除。
支持 pytz
时区将被删除。
这个 is_dst
参数将从以下位置删除:
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()
这个 django.contrib.gis.admin.GeoModelAdmin
和 OSMGeoAdmin
班级将被移除。
未登记的人 BaseForm._html_output()
方法将被移除。
能够返回一个 str
,而不是 SafeString
,在呈现 ErrorDict
和 ErrorList
将被移除。
请参阅 Django 4.1 release notes 有关这些更改的更多详细信息。
这个 SitemapIndexItem.__str__()
方法将被移除。
这个 CSRF_COOKIE_MASKED
过渡设置将被删除。
这个 name
的论点 django.utils.functional.cached_property()
将被移除。
这个 opclasses
的论点 django.contrib.postgres.constraints.ExclusionConstraint
将被移除。
未登记的传球能力 errors=None
至 SimpleTestCase.assertFormError()
和 assertFormsetError()
将被移除。
django.contrib.sessions.serializers.PickleSerializer
将被移除。
的用法 QuerySet.iterator()
在预取相关对象而不提供 chunk_size
将不再允许争论。
将不再允许将未保存的模型实例传递到相关筛选器。
created=True
将需要在以下文件的签名中填写 RemoteUserBackend.configure_user()
子类。
支持通过以下方式注销 GET
中的请求 django.contrib.auth.views.LogoutView
和 django.contrib.auth.views.logout_then_login()
将被移除。
这个 django.utils.timezone.utc
别名到 datetime.timezone.utc
将被移除。
将响应对象和表单/表单集名称传递给 SimpleTestCase.assertFormError()
和 assertFormsetError()
将不再被允许。
这个 django.contrib.gis.admin.OpenLayersWidget
将被移除。
这个 django.contrib.auth.hashers.CryptPasswordHasher
将被移除。
这个 "django/forms/default.html"
和 "django/forms/formsets/default.html"
模板将被删除。
传球的能力 nulls_first=False
或 nulls_last=False
至 Expression.asc()
和 Expression.desc()
方法,以及 OrderBy
表达式将被删除。
见 Django 3.2 release notes 有关这些更改的详细信息。
支持分配不支持使用创建深度副本的对象 copy.deepcopy()
将属性分类到 TestCase.setUpTestData()
将被删除。
BaseCommand.requires_system_checks
不支持布尔值。
这个 whitelist
论证与 domain_whitelist
属性 django.core.validators.EmailValidator
将被删除。
这个 default_app_config
将删除模块变量。
TransactionTestCase.assertQuerysetEqual()
将不再自动调用 repr()
在与字符串值进行比较时对查询集执行。
django.core.cache.backends.memcached.MemcachedCache
将被移除。
支持使用的Django 3.2之前的消息格式 django.contrib.messages.storage.cookie.CookieStorage
将被移除。
见 Django 3.0 release notes 有关这些更改的详细信息。
django.utils.http.urlquote()
, urlquote_plus()
, urlunquote()
和 urlunquote_plus()
将被删除。
django.utils.encoding.force_text()
和 smart_text()
将被删除。
django.utils.translation.ugettext()
, ugettext_lazy()
, ugettext_noop()
, ungettext()
和 ungettext_lazy()
将被删除。
django.views.i18n.set_language()
将不再在中设置用户语言 request.session
(钥匙 django.utils.translation.LANGUAGE_SESSION_KEY
)
alias=None
将需要在 django.db.models.Expression.get_group_by_cols()
子类。
django.utils.text.unescape_entities()
将被删除。
django.utils.http.is_safe_url()
将被删除。
见 Django 3.1 release notes 有关这些更改的详细信息。
这个 PASSWORD_RESET_TIMEOUT_DAYS
设置将被删除。
未记录的用法 isnull
不再允许在右侧使用非布尔值进行查找。
这个 django.db.models.query_utils.InvalidQuery
异常类将被删除。
这个 django-admin.py
将删除入口点。
这个 HttpRequest.is_ajax()
方法将被删除。
支持Django3.1之前使用的Cookie值编码格式 django.contrib.messages.storage.cookie.CookieStorage
将被删除。
在管理站点(使用SHA-1哈希算法)中对django3.1之前的密码重置令牌的支持将被删除。
将删除对Django3.1之前的会话编码格式的支持。
对django3.1之前版本的支持 django.core.signing.Signer
签名(使用SHA-1算法编码)将被删除。
对django3.1之前版本的支持 django.core.signing.dumps()
签名(使用SHA-1算法编码) django.core.signing.loads()
将被删除。
对django3.1之前的用户会话(使用SHA-1算法)的支持将被删除。
这个 get_response
论据 django.utils.deprecation.MiddlewareMixin.__init__()
将是必需的,不会接受 None
。
这个 providing_args
的参数 django.dispatch.Signal
将被删除。
这个 length
的参数 django.utils.crypto.get_random_string()
将是必需的。
这个 list
的消息 ModelMultipleChoiceField
将被删除。
支持将原始列别名传递给 QuerySet.order_by()
将被删除。
模型 NullBooleanField
将被删除。存根字段将保持与历史迁移的兼容性。
django.conf.urls.url()
将被删除。
模型 django.contrib.postgres.fields.JSONField
将被删除。存根字段将保持与历史迁移的兼容性。
django.contrib.postgres.forms.JSONField
, django.contrib.postgres.fields.jsonb.KeyTransform
和 django.contrib.postgres.fields.jsonb.KeyTextTransform
将被删除。
这个 {{% ifequal %}}
和 {{% ifnotequal %}}
模板标记将被删除。
这个 DEFAULT_HASHING_ALGORITHM
过渡设置将被删除。
见 Django 2.2 release notes 有关这些更改的详细信息。
django.utils.timezone.FixedOffset
将被删除。
django.core.paginator.QuerySetPaginator
将被删除。
模型的 Meta.ordering
将不再影响 GROUP BY
查询。
django.contrib.postgres.fields.FloatRangeField
和 django.contrib.postgres.forms.FloatRangeField
将被删除。
这个 FILE_CHARSET
设置将被删除。
django.contrib.staticfiles.storage.CachedStaticFilesStorage
将被删除。
RemoteUserBackend.configure_user()
将需要 request
作为第一个位置参数。
支持 SimpleTestCase.allow_database_queries
和 TransactionTestCase.multi_db
将被删除。
见 Django 2.0 release notes 有关这些更改的详细信息。
这个 django.db.backends.postgresql_psycopg2
模块将被移除。
django.shortcuts.render_to_response()
将被删除。
这个 DEFAULT_CONTENT_TYPE
设置将被删除。
HttpRequest.xreadlines()
将被删除。
支持 context
的参数 Field.from_db_value()
和 Expression.convert_value()
将被删除。
这个 field_name
的关键字参数 QuerySet.earliest()
和 latest()
将被删除。
见 Django 2.1 release notes 有关这些更改的详细信息。
django.contrib.gis.db.models.functions.ForceRHR
将被删除。
django.utils.http.cookie_date()
将被删除。
这个 staticfiles
和 admin_static
模板标记库将被删除。
django.contrib.staticfiles.templatetags.static()
将被删除。
垫片允许 InlineModelAdmin.has_add_permission()
在没有 obj
参数将被删除。
见 Django 1.11 release notes 有关这些更改的详细信息。
contrib.auth.views.login()
, logout()
, password_change()
, password_change_done()
, password_reset()
, password_reset_done()
, password_reset_confirm()
和 password_reset_complete()
将被删除。
这个 extra_context
参数 contrib.auth.views.logout_then_login()
将被删除。
django.test.runner.setup_databases()
将被删除。
django.utils.translation.string_concat()
将被删除。
django.core.cache.backends.memcached.PyLibMCCache
不再支持传球 pylibmc
行为设置作为的顶级属性 OPTIONS
.
这个 host
参数 django.utils.http.is_safe_url()
将被删除。
在呈现 {{% include %}}
模板标记将被删除。
DatabaseIntrospection.get_indexes()
将被删除。
这个 authenticate()
验证后端的方法需要 request
作为第一个位置参数。
这个 django.db.models.permalink()
修饰符将被移除。
这个 USE_ETAGS
设置将被删除。 CommonMiddleware
和 django.utils.cache.patch_response_headers()
将不再设置etags。
这个 Model._meta.has_auto_field
属性将被删除。
url()
对正则表达式组中的内联标志的支持 ((?i)
, (?L)
, (?m)
, (?s)
和 (?u)
)将被删除。
支持 Widget.render()
没有的方法 renderer
参数将被删除。
见 Django 1.9 release notes 有关这些更改的详细信息。
这个 weak
参数 django.dispatch.signals.Signal.disconnect()
将被删除。
django.db.backends.base.BaseDatabaseOperations.check_aggregate_support()
将被删除。
这个 django.forms.extras
包将被删除。
这个 assignment_tag
助手将被删除。
这个 host
参数 assertsRedirects
将被删除。当路径相同时,允许绝对URL被视为等于相对URL的兼容性层也将被删除。
Field.rel
将被删除。
Field.remote_field.to
属性将被删除。
这个 on_delete
的参数 ForeignKey
和 OneToOneField
将是必需的。
django.db.models.fields.add_lazy_relation()
将被删除。
当启用时区支持时,如果数据库后端不支持时区,则当这些值作为参数传递给在ORM外部执行的SQL查询(例如使用 cursor.execute()
.
这个 django.contrib.auth.tests.utils.skipIfCustomUser()
修饰符将被移除。
这个 GeoManager
和 GeoQuerySet
类将被删除。
这个 django.contrib.gis.geoip
模块将被移除。
这个 supports_recursion
检查模板加载程序将从以下位置删除:
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()
这个 load_template()
和 load_template_sources()
将删除模板加载程序方法。
这个 template_dirs
将删除模板加载程序的参数:
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()
这个 django.template.loaders.base.Loader.__call__()
方法将被删除。
将删除对具有单个位置参数的自定义错误视图的支持。
这个 mime_type
属性 django.utils.feedgenerator.Atom1Feed
和 django.utils.feedgenerator.RssFeed
将被移除以支持 content_type
.
这个 app_name
参数 django.conf.urls.include()
将被删除。
支持将3元组作为第一个参数传递给 include()
将被删除。
将删除对设置没有应用程序命名空间的URL实例命名空间的支持。
Field._get_val_from_obj()
将被移除以支持 Field.value_from_object()
.
django.template.loaders.eggs.Loader
将被删除。
这个 current_app
参数 contrib.auth
视图将被删除。
这个 callable_obj
关键字参数 SimpleTestCase.assertRaisesMessage()
将被删除。
支持 allow_tags
属性对 ModelAdmin
方法将被删除。
这个 enclosure
关键字参数 SyndicationFeed.add_item()
将被删除。
这个 django.template.loader.LoaderOrigin
和 django.template.base.StringOrigin
用于别名 django.template.base.Origin
将被删除。
见 Django 1.10 release notes 有关这些更改的详细信息。
这个 makemigrations --exit
选项将被删除。
将删除对反向外键或多对多关系的直接分配的支持。
这个 get_srid()
和 set_srid()
方法 django.contrib.gis.geos.GEOSGeometry
将被删除。
这个 get_x()
, set_x()
, get_y()
, set_y()
, get_z()
和 set_z()
方法 django.contrib.gis.geos.Point
将被删除。
这个 get_coords()
和 set_coords()
方法 django.contrib.gis.geos.Point
将被删除。
这个 cascaded_union
性质 django.contrib.gis.geos.MultiPolygon
将被删除。
django.utils.functional.allow_lazy()
将被删除。
这个 shell --plain
选项将被删除。
这个 django.core.urlresolvers
模块将被移除。
模型 CommaSeparatedIntegerField
将被删除。存根字段将保持与历史迁移的兼容性。
对模板的支持 Context.has_key()
方法将被删除。
支持 django.core.files.storage.Storage.accessed_time()
, created_time()
和 modified_time()
方法将被删除。
当 Meta.default_related_name
设置将被删除。
这个 __search
查询查找和 DatabaseOperations.fulltext_search_sql()
方法将被删除。
用于支持自定义相关管理器类的填充程序 _apply_rel_filters()
方法将被删除。
使用 User.is_authenticated()
和 User.is_anonymous()
将不再支持as方法。
私有属性 virtual_fields
属于 Model._meta
将被删除。
private关键字参数 virtual_only
在里面 Field.contribute_to_class()
和 virtual
在里面 Model._meta.add_field()
将被删除。
这个 javascript_catalog()
和 json_catalog()
视图将被删除。
这个 django.contrib.gis.utils.precision_wkt()
功能将被删除。
在多表继承中,隐式提升 OneToOneField
到A parent_link
将被删除。
支持 Widget._format_value()
将被删除。
FileField
方法 get_directory_name()
和 get_filename()
将被删除。
这个 mark_for_escaping()
函数及其使用的类: EscapeData
, EscapeBytes
, EscapeText
, EscapeString
和 EscapeUnicode
将被删除。
这个 escape
过滤器将更改为使用 django.utils.html.conditional_escape()
.
Manager.use_for_related_fields
将被删除。
模型 Manager
继承将遵循MRO继承规则和 Meta.manager_inheritance_from_future
选择加入此行为将被删除。
支持旧式中间件使用 settings.MIDDLEWARE_CLASSES
将被删除。
见 Django 1.8 release notes 有关这些更改的详细信息。
支持调用 SQLCompiler
直接作为调用其 quote_name_unless_alias
方法将被删除。
cycle
和 firstof
模板标记将从 future
模板标记库(在1.6/1.7折旧期间使用)。
django.conf.urls.patterns()
将被删除。
支持 prefix
参数 django.conf.urls.i18n.i18n_patterns()
将被删除。
SimpleTestCase.urls
将被删除。
在 for
模板标记将引发异常,而不是静默失败。
将删除使用点式python路径反向URL的功能。
能够使用点式python路径 LOGIN_URL
和 LOGIN_REDIRECT_URL
设置将被删除。
类 django.core.management.NoArgsCommand
将被删除。使用 BaseCommand
相反,默认情况下不接受参数。
django.core.context_processors
模块将被移除。
django.db.models.sql.aggregates
模块将被移除。
django.contrib.gis.db.models.sql.aggregates
模块将被移除。
以下方法和特性 django.db.sql.query.Query
将被删除:
性能: aggregates
和 aggregate_select
方法: add_aggregate
, set_aggregate_mask
和 append_aggregate_mask
.
django.template.resolve_variable
将被删除。
将从中删除以下私有API django.db.models.options.Options
(Model._meta
):
get_field_by_name()
get_all_field_names()
get_fields_with_model()
get_concrete_fields_with_model()
get_m2m_with_model()
get_all_related_objects()
get_all_related_objects_with_model()
get_all_related_many_to_many_objects()
get_all_related_m2m_objects_with_model()
这个 error_message
的参数 django.forms.RegexField
将被删除。
这个 unordered_list
过滤器将不再支持旧样式列表。
支持字符串 view
论据 url()
将被删除。
要重命名的向后兼容垫片 django.forms.Form._has_changed()
到 has_changed()
将被删除。
这个 removetags
模板筛选器将被删除。
这个 remove_tags()
和 strip_entities()
功能在 django.utils.html
将被删除。
这个 is_admin_site
参数 django.contrib.auth.views.password_reset()
将被删除。
django.db.models.field.subclassing.SubfieldBase
将被删除。
django.utils.checksums
将被删除;其功能包含在 django-localflavor
1.1 +。
这个 original_content_type_id
属性对 django.contrib.admin.helpers.InlineAdminForm
将被删除。
向后兼容垫片允许 FormMixin.get_form()
在没有默认值的情况下定义 form_class
参数将被删除。
将删除以下设置:
ALLOWED_INCLUDE_ROOTS
TEMPLATE_CONTEXT_PROCESSORS
TEMPLATE_DEBUG
TEMPLATE_DIRS
TEMPLATE_LOADERS
TEMPLATE_STRING_IF_INVALID
向后兼容别名 django.template.loader.BaseLoader
将被删除。
Django模板对象返回者 get_template()
和 select_template()
不会接受 Context
在他们 render()
方法不再。
Template response APIs 将强制使用 dict
和后端相关的模板对象,而不是 Context
和 Template
分别。
这个 current_app
将删除以下函数和类的参数:
django.shortcuts.render()
django.template.Context()
django.template.RequestContext()
django.template.response.TemplateResponse()
这个 dictionary
和 context_instance
将删除以下功能的参数:
django.shortcuts.render()
django.shortcuts.render_to_response()
django.template.loader.render_to_string()
这个 dirs
将删除以下函数的参数:
django.template.loader.get_template()
django.template.loader.select_template()
django.shortcuts.render()
django.shortcuts.render_to_response()
无论是否启用会话验证 'django.contrib.auth.middleware.SessionAuthenticationMiddleware'
是在 MIDDLEWARE_CLASSES
.
私有属性 django.db.models.Field.related
将被删除。
这个 --list
选择权 migrate
将删除管理命令。
这个 ssi
模板标记将被删除。
支持 =
中的比较运算符 if
模板标记将被删除。
向后兼容性垫片允许 Storage.get_available_name()
和 Storage.save()
在没有 max_length
参数将被删除。
对遗产的支持 %(<foo>)s
语法在 ModelFormMixin.success_url
将被删除。
GeoQuerySet
聚合方法 collect()
, extent()
, extent3d()
, make_line()
和 unionagg()
将被删除。
能够指定 ContentType.name
创建内容类型实例时,将删除该实例。
支持的旧签名 allow_migrate
将被删除。它从 allow_migrate(self, db, model)
到 allow_migrate(self, db, app_label, model_name=None, **hints)
.
支持的语法 {{% cycle %}}
使用逗号分隔的参数将被删除。
警告: Signer
如果给定的分隔符无效,则问题将成为异常。
见 Django 1.7 release notes 有关这些更改的详细信息。
django.utils.dictconfig
将被删除。
django.utils.importlib
将被删除。
django.utils.tzinfo
将被删除。
django.utils.unittest
将被删除。
这个 syncdb
命令将被删除。
django.db.models.signals.pre_syncdb
和 django.db.models.signals.post_syncdb
将被删除。
allow_syncdb
数据库上的路由器将不再自动成为 allow_migrate
.
将删除没有迁移的应用程序的自动同步。除非通过 --run-syncdb
选择权 migrate
.
用于不进行迁移的应用程序的SQL管理命令, sql
, sqlall
, sqlclear
, sqldropindexes
和 sqlindexes
,将被删除。
支持自动加载 initial_data
将删除设备和初始SQL数据。
所有模型都需要在已安装的应用程序中定义,或者声明一个显式的 app_label
. 此外,在加载应用程序之前无法导入它们。尤其是,不可能在应用程序的根包中导入模型。
模型和形式 IPAddressField
将被删除。存根字段将保持与历史迁移的兼容性。
AppCommand.handle_app()
将不再受支持。
RequestSite
和 get_current_site()
将不再可从 django.contrib.sites.models
.
通过 runfcgi
将删除管理命令。请使用wsgi部署您的项目。
django.utils.datastructures.SortedDict
将被删除。使用 collections.OrderedDict
而是来自Python标准库。
ModelAdmin.declared_fieldsets
将被删除。
实例 util.py
在Django代码库中已重命名为 utils.py
为了统一所有的util和utils引用。提供向后兼容性的模块将被删除:
django.contrib.admin.util
django.contrib.gis.db.backends.util
django.db.backends.util
django.forms.util
ModelAdmin.get_formsets
将被删除。
引入向后兼容性填充程序来重命名 BaseMemcachedCache._get_memcache_timeout()
方法到 get_backend_timeout()
将被删除。
这个 --natural
和 -n
选项 dumpdata
将被删除。
这个 use_natural_keys
的参数 serializers.serialize()
将被删除。
私有API django.forms.forms.get_declared_fields()
将被删除。
使用 SplitDateTimeWidget
具有 DateTimeField
将被删除。
这个 WSGIRequest.REQUEST
属性将被删除。
类 django.utils.datastructures.MergeDict
将被删除。
这个 zh-cn
和 zh-tw
语言代码将被删除并替换为 zh-hans
和 zh-hant
语言代码。
内部 django.utils.functional.memoize
将被删除。
django.core.cache.get_cache
将被删除。将合适的条目添加到 CACHES
使用 django.core.cache.caches
相反。
django.db.models.loading
将被删除。
无法再将可调用参数传递给查询集。
BaseCommand.requires_model_validation
将被移除以支持 requires_system_checks
. 管理员验证程序将由管理员检查替换。
这个 ModelAdmin.validator_class
和 default_validator_class
属性将被删除。
ModelAdmin.validate()
将被删除。
django.db.backends.DatabaseValidation.validate_field
将以 check_field
方法。
这个 validate
将删除管理命令。
django.utils.module_loading.import_by_path
将被移除以支持 django.utils.module_loading.import_string
.
ssi
和 url
模板标记将从 future
模板标记库(在1.3/1.4折旧期间使用)。
django.utils.text.javascript_quote
将被删除。
数据库测试设置作为数据库设置中的独立项,前缀为 TEST_
将不再支持。
这个 cache_choices
选择权 ModelChoiceField
和 ModelMultipleChoiceField
将被删除。
的默认值 RedirectView.permanent
属性将从更改 True
到 False
.
django.contrib.sitemaps.FlatPageSitemap
将被移除以支持 django.contrib.flatpages.sitemaps.FlatPageSitemap
.
私有API django.test.utils.TestTemplateLoader
将被删除。
这个 django.contrib.contenttypes.generic
模块将被移除。
专用API django.db.models.sql.where.WhereNode.make_atom()
和 django.db.models.sql.where.Constraint
将被删除。
见 Django 1.6 release notes 有关这些更改的详细信息。
django.contrib.comments
将被删除。
将删除以下事务管理API:
TransactionMiddleware
,
装饰师和上下文管理器 autocommit
, commit_on_success
和 commit_manually
,定义在 django.db.transaction
,
功能 commit_unless_managed
和 rollback_unless_managed
,也在中定义 django.db.transaction
,
这个 TRANSACTIONS_MANAGED
设置。
这个 cycle
和 firstof
模板标记将自动转义它们的参数。在1.6和1.7中,此行为由 future
模板标记库。
这个 SEND_BROKEN_LINK_EMAILS
设置将被删除。添加 django.middleware.common.BrokenLinkEmailsMiddleware
中间件到您的 MIDDLEWARE_CLASSES
改为设置。
django.middleware.doc.XViewMiddleware
将被删除。使用 django.contrib.admindocs.middleware.XViewMiddleware
相反。
Model._meta.module_name
重命名为 model_name
.
拆下引入的向后兼容垫片以重命名 get_query_set
以及类似的查询集方法。这将影响以下类: BaseModelAdmin
, ChangeList
, BaseCommentNode
, GenericForeignKey
, Manager
, SingleRelatedObjectDescriptor
和 ReverseSingleRelatedObjectDescriptor
.
移除引入的向后兼容垫片以重命名属性 ChangeList.root_query_set
和 ChangeList.query_set
.
django.views.defaults.shortcut
将被删除,作为全部删除目标的一部分 django.contrib
来自核心Django代码库的引用。代替使用 django.contrib.contenttypes.views.shortcut
. django.conf.urls.shortcut
也将被移除。
对python图像库(pil)模块的支持将被删除,因为它似乎不再被积极维护,也不能在python 3上工作。
将删除以下私有API:
django.db.backend
django.db.close_connection()
django.db.backends.creation.BaseDatabaseCreation.set_autocommit()
django.db.transaction.is_managed()
django.db.transaction.managed()
django.forms.widgets.RadioInput
将被移除以支持 django.forms.widgets.RadioChoiceInput
.
模块 django.test.simple
和类 django.test.simple.DjangoTestSuiteRunner
将被删除。代替使用 django.test.runner.DiscoverRunner
.
模块 django.test._doctest
将被删除。而是使用Python标准库中的doctest模块。
这个 CACHE_MIDDLEWARE_ANONYMOUS_ONLY
设置将被删除。
硬编码的用法 按住Mac上的“Control”(控制)或“Command”(命令),选择多个。 重写或附加到用户提供的字符串 help_text
在许多模型的表单中,Django将不再在模型或表单层执行许多模型字段。
这个 Model._meta.get_(add|change|delete)_permission
方法将被删除。
会话密钥 django_language
为了向后兼容,将不再读取。
地理位置图将被删除 (django.contrib.gis.sitemaps.views.index
和 django.contrib.gis.sitemaps.views.sitemap
)
django.utils.html.fix_ampersands
, the fix_ampersands
模板过滤器和 django.utils.html.clean_html
将在加速折旧后移除。
见 Django 1.5 release notes 有关这些更改的详细信息。
模块 django.utils.simplejson
将被删除。标准库提供 json
应该用它来代替。
函数 django.utils.itercompat.product
将被删除。应该改用python内置版本。
如果将已安装的应用程序和模板目录设置指定为纯字符串而不是元组,则将删除它们并引发异常。
这个 mimetype
论据 __init__
方法 HttpResponse
, SimpleTemplateResponse
和 TemplateResponse
,将被删除。 content_type
应该改为使用。这也适用于 render_to_response()
快捷方式和站点地图视图, index()
和 sitemap()
.
什么时候? HttpResponse
用迭代器实例化,或者 content
设置为迭代器,该迭代器将立即被使用。
这个 AUTH_PROFILE_MODULE
设置,以及 get_profile()
将删除用户模型上的方法。
这个 cleanup
将删除管理命令。它被替换为 clearsessions
.
这个 daily_cleanup.py
脚本将被删除。
这个 depth
关键字参数将从中删除 select_related()
.
无证件者 get_warnings_state()
/restore_warnings_state()
功能从 django.test.utils
以及 save_warnings_state()
/ restore_warnings_state()
django.test.*TestCase 方法已弃用。使用 warnings.catch_warnings
上下文管理器从python 2.6开始可用。
无证件者 check_for_test_cookie
方法在 AuthenticationForm
将在加速折旧后移除。对该表单进行子类化的用户应删除对此方法的调用,并确保其与身份验证相关的视图受CSRF保护,从而确保启用了cookie。
的版本 django.contrib.auth.views.password_reset_confirm()
支持base36编码的用户ID的 (django.contrib.auth.views.password_reset_confirm_uidb36
)将被删除。如果您的站点已经运行Django 1.6超过 PASSWORD_RESET_TIMEOUT_DAYS
,此更改将不会产生任何影响。如果没有,那么在您升级到Django 1.7之前生成的任何密码重置链接在升级后都将不起作用。
这个 django.utils.encoding.StrAndUnicode
混合料将被移除。
见 Django 1.4 release notes 有关这些更改的详细信息。
django.contrib.databrowse
将被删除。
django.contrib.localflavor
将在加速折旧后移除。
django.contrib.markup
将在加速折旧后移除。
兼容模块 django.utils.copycompat
和 django.utils.hashcompat
以及功能 django.utils.itercompat.all
和 django.utils.itercompat.any
将被删除。应该改用python内置版本。
这个 csrf_response_exempt
和 csrf_view_exempt
装饰工将被移除。1.4以来 csrf_response_exempt
已经是no op(返回相同的函数),并且 csrf_view_exempt
一直是 django.views.decorators.csrf.csrf_exempt
,应该用它来代替它。
这个 django.core.cache.backends.memcached.CacheClass
为了引入对pylibmc的支持,Django1.3将后端划分为两部分。历史 CacheClass
将被移除以支持 django.core.cache.backends.memcached.MemcachedCache
.
英国前缀对象 django.contrib.localflavor.uk
只能通过其GB前缀名称访问(GB是英国的正确ISO 3166代码)。
这个 IGNORABLE_404_STARTS
和 IGNORABLE_404_ENDS
设置已被取代 IGNORABLE_404_URLS
在1.4版本中。它们将被移除。
表单向导已被重构为在1.4中使用具有可插入后端的基于类的视图。将删除以前的实现。
传统的调用方式 cache_page()
将被删除。
向后兼容性填充程序自动将调试错误筛选器添加到 'mail_admins'
日志处理程序将被删除。这个 LOGGING
如果需要,设置应显式包含此筛选器。
内置截断函数 django.utils.text.truncate_words()
和 django.utils.text.truncate_html_words()
将以 django.utils.text.Truncator
类。
这个 django.contrib.gis.geoip.GeoIP
已将类移动到 django.contrib.gis.geoip
在1.4中--中的快捷方式 django.contrib.gis.utils
将被删除。
django.conf.urls.defaults
将被删除。功能 include()
, patterns()
和 url()
加上 handler404
和 handler500
现在可通过 django.conf.urls
.
功能 setup_environ()
和 execute_manager()
将从中删除 django.core.management
. 这也意味着 manage.py
文件将不再工作。
设置 is_safe
和 needs_autoescape
不再支持作为模板筛选函数属性的标志。
属性 HttpRequest.raw_post_data
重命名为 HttpRequest.body
1.4。将删除向后兼容性-- HttpRequest.raw_post_data
将不再工作。
的值 post_url_continue
参数在 ModelAdmin.response_add()
必须是 None
(重定向到新创建对象的编辑页)或预先格式化的URL。字符串格式,如以前的默认值 '../%s/'
,将不再被接受。
见 Django 1.3 release notes 有关这些更改的详细信息。
不带A启动Django SECRET_KEY
将导致异常而不是 DeprecationWarning
. (这是从通常的折旧路径加速的;请参见 Django 1.4 release notes )
这个 mod_python
请求处理程序将被删除。这个 mod_wsgi
应改为使用处理程序。
这个 template
属性对 django.test.client.Response
返回的对象 test client 将被删除。这个 templates
应改为使用属性。
这个 django.test.simple.DjangoTestRunner
将被删除。取而代之的是使用 unittest
-本地类。的特点 django.test.simple.DjangoTestRunner
(包括fail fast和ctrl-c测试终止)可由 unittest.TextTestRunner
.
未记录的函数 django.contrib.formtools.utils.security_hash
将被删除,而不是使用 django.contrib.formtools.utils.form_hmac
基于函数的通用视图模块将被删除,以支持基于类的等效模块,概述了 here .
这个 django.core.servers.basehttp.AdminMediaHandler
将被删除。就地使用 django.contrib.staticfiles.handlers.StaticFilesHandler
.
模板标记库 adminmedia
和模板标签 {{% admin_media_prefix %}}
将被删除,以便进行一般静态文件处理。(这比通常的折旧路径更快;请参见 Django 1.4 release notes )
这个 url
和 ssi
模板标记将被修改,以便每个标记的第一个参数是模板变量,而不是隐含的字符串。在1.4中,此行为由 future
模板标记库。
这个 reset
和 sqlreset
将删除管理命令。
身份验证后端将需要支持将非活动用户传递给所有处理权限的方法。这个 supports_inactive_user
属性将不再被选中,并且可以从自定义后端删除。
transform()
将提高 GEOSException
在没有srid值的几何体上调用时。
django.http.CompatCookie
将被移除以支持 django.http.SimpleCookie
.
django.core.context_processors.PermWrapper
和 django.core.context_processors.PermLookupDict
将以相应的 django.contrib.auth.context_processors.PermWrapper
和 django.contrib.auth.context_processors.PermLookupDict
,分别。
这个 MEDIA_URL
或 STATIC_URL
设置将被要求以一个尾随斜杠结束,以确保有一个一致的方法来组合模板中的路径。
django.db.models.fields.URLField.verify_exists
将被删除。由于难以解决的安全和性能问题,该功能在1.3.1中被弃用,并将遵循稍微加快的弃用时间。
翻译位于所谓的 项目路径 将在运行时执行的翻译生成过程中被忽略。这个 LOCALE_PATHS
通过将文件系统路径包含到 locale
目录的值中包含非应用程序特定的翻译。
markup contrib应用程序将不再支持早于2.1的python markdown库版本。由于这是一种与安全相关的折旧,因此使用了加速的时间线。
这个 CACHE_BACKEND
设置将被删除。缓存后端应在 CACHES
设置。
见 Django 1.2 release notes 有关这些更改的详细信息。
CsrfResponseMiddleware
和 CsrfMiddleware
将被删除。使用 {{% csrf_token %}}
表单内的模板标记,以启用CSRF保护。 CsrfViewMiddleware
默认情况下保持并启用。
CSRF功能的旧导入 (django.contrib.csrf.*
)移动到1.2中的核心,将被移除。
这个 django.contrib.gis.db.backend
模块将被移除,以利于特定的后端。
SMTPConnection
将被删除,以支持通用电子邮件后端API。
将删除数据库后端上的多对多SQL生成函数。
使用 DATABASE_*
将删除用于定义数据库连接的顶级设置系列。
使用速记法指定数据库后端的能力(即, sqlite3
而不是 django.db.backends.sqlite3
)将被删除。
这个 get_db_prep_save
, get_db_prep_value
和 get_db_prep_lookup
方法必须支持多个数据库。
这个 Message
模型(in) django.contrib.auth
)的相关经理 User
模型 (user.message_set
)和相关方法 (user.message_set.create()
和 user.get_and_delete_messages()
)将被删除。这个 messages framework 应该改为使用。相关的 messages
auth上下文处理器返回的变量也将被删除。注意,这意味着管理应用程序将依赖于消息上下文处理器。
身份验证后端将需要支持 obj
用于权限检查的参数。这个 supports_object_permissions
属性将不再被选中,并且可以从自定义后端删除。
身份验证后端将需要支持 AnonymousUser
正在将类传递给处理权限的所有方法。这个 supports_anonymous_user
变量将不再被检查,并且可以从自定义后端删除。
指定可调用模板加载器而不是 Loader
类和 load_template_source
用于向后兼容的内置模板加载程序中包含的函数。
django.utils.translation.get_date_formats()
和 django.utils.translation.get_partial_date_formats()
. 这些函数将被删除;使用区域设置感知 django.utils.formats.get_format()
以获得适当的格式。
在 django.forms.fields
,常数: DEFAULT_DATE_INPUT_FORMATS
, DEFAULT_TIME_INPUT_FORMATS
和 DEFAULT_DATETIME_INPUT_FORMATS
将被删除。使用 django.utils.formats.get_format()
以获得适当的格式。
将删除使用基于函数的测试运行程序的能力,以及 django.test.simple.run_tests()
测试转轮。
这个 views.feed()
视图和 feeds.Feed
班在 django.contrib.syndication
将被删除。基于类的视图 views.Feed
应该改为使用。
django.core.context_processors.auth
. 此版本将删除旧方法,而改为 django.contrib.auth.context_processors.auth
.
这个 postgresql
将删除数据库后端,请使用 postgresql_psycopg2
改为后端。
这个 no
语言代码将被删除并替换为 nb
语言代码。
身份验证后端将需要定义布尔属性 supports_inactive_user
在1.5版之前,假设所有后端都将处理非活动用户。
django.db.models.fields.XMLField
将被删除。作为1.3版本的一部分,该版本已被弃用。已使用加速折旧计划,因为字段除了执行简单的 TextField
自从 oldforms
. 所有用途 XMLField
可替换为 TextField
.
无证件者 mixin
参数 open()
方法 django.core.files.storage.Storage
(和子类)将被删除。
见 Django 1.1 release notes 有关这些更改的详细信息。
AdminSite.root()
. 这种连接管理URL的方法将被删除,以便包括 admin.site.urls
.
身份验证后端需要定义布尔属性 supports_object_permissions
和 supports_anonymous_user
在1.4版之前,我们假设所有后端都支持这些选项。
12月 18, 2023