本文件概述了在删除后,按照 deprecation policy . 有关每个项目的更多详细信息,通常可以在之前两个版本的发行说明中找到。
看到 Django 6.0 release notes 了解有关这些变化的更多详细信息。
的 serialize 关键字参数 BaseDatabaseCreation.create_test_db() 将被移除。
的 django.contrib.postgres.aggregates.StringAgg 类将被删除。
的 django.contrib.postgres.aggregates.mixins.OrderableAggMixin 类将被删除。
中的默认协议 urlize 和 urlizetrunc 模板过滤器将从HTTP更改为HTTPS。
的 URLIZE_ASSUME_HTTPS 过渡设置将被删除。
支持设置 ADMINS 或 MANAGERS (名称、地址)二元组列表的设置将被删除。
的 orphans 参数大于或等于 per_page 论点 django.core.paginator.Paginator 和 django.core.paginator.AsyncPaginator 将不再被允许。
请参阅 Django 5.2 release notes 有关这些更改的更多详细信息。
这个 all 的关键字参数 django.contrib.staticfiles.finders.find() 将被移除。
倒退到 request.user 当 user 是 None 在 django.contrib.auth.login() 和 django.contrib.auth.alogin() 将被移除。
的 ordering PostgreSQL特定聚合函数的关键字参数 django.contrib.postgres.aggregates.ArrayAgg , django.contrib.postgres.aggregates.JSONBAgg ,而且 django.contrib.postgres.aggregates.StringAgg 将被移除。
支持子类 RemoteUserMiddleware 该推翻 process_request() 不推翻 aprocess_request() 将被移除。
请参阅 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() 方法将被移除。
支持将位置参数传递给 Model.save() 和 Model.asave() 将被移除。
的二传手 django.contrib.gis.gdal.OGRGeometry.coord_dim 将被移除。
django.urls.register_converter() 将不再允许覆盖现有的转换器。
这个 check 的关键字参数 CheckConstraint 将被移除。
这个 OS_OPEN_FLAGS 的属性 FileSystemStorage 将被移除。
这个 get_cache_name() 方法论 FieldCacheMixin 将被移除。
请参阅 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() 方法将被移除。
支持Django 3.1之前使用的cookie值编码格式 django.contrib.messages.storage.cookie.CookieStorage 将被移除。
管理站点(使用SHA-1哈希算法)中对Django 3.1之前密码重置令牌的支持将被删除。
对Django 3.1之前的会话编码格式的支持将被删除。
对Django 3.1之前的支持 django.core.signing.Signer 签名(使用SHA-1算法编码)将被删除。
对Django 3.1之前的支持 django.core.signing.dumps() 签名(使用SHA-1算法编码) django.core.signing.loads() 将被移除。
对Django 3.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 设置将被删除。
硬编码的使用 Hold down "Control", or "Command" on a Mac, to select more than one. 要重写或追加到用户提供的 help_text 在ManyToMany的表单中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() 支持base 36编码的用户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版之前,我们假设所有后端都支持这些选项。
5月 28, 2025