Хронология устаревания Django ¶
В этом документе описывается, когда различные части Django будут удалены или изменены обратно несовместимым способом после их прекращения поддержки в соответствии с политикой устаревания . Более подробную информацию о каждом элементе часто можно найти в примечаниях к выпуску двух предыдущих версий.
4,1 ¶
См. Примечания к выпуску Django 3.2 для получения более подробной информации об этих изменениях.
- Поддержка назначения объектов, которые не поддерживают создание глубоких копий с
copy.deepcopy()
атрибутами класса,TestCase.setUpTestData()
будет удалена. BaseCommand.requires_system_checks
не поддерживает логические значения.whitelist
Аргумент иdomain_whitelist
атрибутdjango.core.validators.EmailValidator
будет удален.default_app_config
Переменной модуль будет удален.TransactionTestCase.assertQuerysetEqual()` will no longer automatically call ``repr()
в наборе запросов по сравнению со строковыми значениями.django.core.cache.backends.memcached.MemcachedCache
будет удален.- Поддержка формата сообщений до Django 3.2
django.contrib.messages.storage.cookie.CookieStorage
будет удалена.
4.0 ¶
См. Примечания к выпуску Django 3.0 для получения более подробной информации об этих изменениях.
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 для получения более подробной информации об этих изменениях.
PASSWORD_RESET_TIMEOUT_DAYS
Настройки будут удалены.- Недокументированное использование
isnull
поиска с небулевыми значениями в правой части больше не будет разрешено. - Класс
django.db.models.query_utils.InvalidQuery
исключения будет удален. - Точка
django-admin.py
входа будет удалена. HttpRequest.is_ajax()
Метод будет удален.- Поддержка формата кодирования значений файлов cookie до Django 3.1
django.contrib.messages.storage.cookie.CookieStorage
будет удалена. - Поддержка токенов сброса пароля до Django 3.1 на сайте администратора (которые используют алгоритм хеширования SHA-1) будет удалена.
- Поддержка формата кодирования сессий до Django 3.1 будет удалена.
- Поддержка
django.core.signing.Signer
подписей до Django 3.1 (закодированных с помощью алгоритма SHA-1) будет удалена. - Поддержка
django.core.signing.dumps()
подписей до Django 3.1 (закодированных с помощью алгоритма SHA-1)django.core.signing.loads()
будет удалена. - Поддержка пользовательских сессий до Django 3.1 (использующих алгоритм SHA-1) будет удалена.
get_request
Аргумент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
Переходная настройка будет удалена.
3,1 ¶
См. Примечания к выпуску Django 2.2 для получения более подробной информации об этих изменениях.
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
будет удалена.
3,0 ¶
См. Примечания к выпуску Django 2.0 для получения более подробной информации об этих изменениях.
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 для получения более подробной информации об этих изменениях.
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
аргументов, будет удалена.
2,1 ¶
См. Примечания к выпуску Django 1.11 для получения более подробной информации об этих изменениях.
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()
поддержка «S для встроенных флагов регулярных выражений групп ((?i)
,(?L)
,(?m)
,(?s)
, и(?u)
) будет удалена.- Поддержка
Widget.render()
методов безrenderer
аргумента будет удалена.
2,0 ¶
См . Примечания к выпуску Django 1.9 для получения более подробной информации об этих изменениях.
weak
Аргументdjango.dispatch.signals.Signal.disconnect()
будет удален.django.db.backends.base.BaseDatabaseOperations.check_aggregate_support()
будет удален.django.forms.extras
Пакет будет удален.assignment_tag
Помощник будет удален.host
АргументassertsRedirects
будет удален. Уровень совместимости, позволяющий считать абсолютные URL-адреса равными относительным при идентичном пути, также будет удален.Field.rel
будет удален.Field.remote_field.to
атрибут будет удален.on_delete
АргументForeignKey
иOneToOneField
будет необходимо.django.db.models.fields.add_lazy_relation()
будет удален.- Когда поддержка часовых поясов включена, серверные части базы данных, которые не поддерживают часовые пояса, больше не будут преобразовывать известные даты в наивные значения в формате UTC, когда такие значения передаются в качестве параметров SQL-запросам, выполняемым вне ORM, например, с помощью
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 для получения более подробной информации об этих изменениях.
- Вариант будет удален.
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
будет удален. - Аргументы частного ключевого слова
virtual_only
inField.contribute_to_class()
иvirtual
inModel._meta.add_field()
будут удалены. - Представления
javascript_catalog()
иjson_catalog()
будут удалены. django.contrib.gis.utils.precision_wkt()
Функция будет удалена.- При многотабличном наследовании неявное преобразование a
OneToOneField
в aparent_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
будет удалена.
1,10 ¶
См. Примечания к выпуску Django 1.8 для получения более подробной информации об этих изменениях.
- Поддержка
SQLCompiler
прямого вызова a как псевдонима для вызова его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
теге шаблона вызовет исключение, а не завершится ошибкой. - Возможность обратного URL-адреса с использованием пути Python, разделенного точками, будет удалена.
- Возможность использовать точечный путь Python для
LOGIN_URL
иLOGIN_REDIRECT_URL
настроек будет удалена. - Поддержка
optparse
пользовательских команд управления будет прекращена (заменена наargparse
). - Класс
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()
методе. - API-интерфейсы шаблонов будут принудительно использовать
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
выдается при указании недопустимого разделителя, станет исключением.
1,9 ¶
См. Примечания к выпуску Django 1.7 для получения более подробной информации об этих изменениях.
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
.- Поддержка FastCGI через команду
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
будут удалены.
1,8 ¶
См. Примечания к выпуску Django 1.6 для получения более подробной информации об этих изменениях.
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 Imaging Library (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
будет удален. Вместо этого используйте модуль doctest из стандартной библиотеки Python. CACHE_MIDDLEWARE_ANONYMOUS_ONLY
Настройки будут удалены.- Использование жестко запрограммированной клавиши Удерживайте нажатой «Control» или «Command» на Mac, чтобы выбрать более одного. Строка для переопределения или добавления к предоставленной пользователем
help_text
в формах для полей модели ManyToMany больше не будет выполняться Django ни на уровне модели, ни на уровне форм. - Эти
Model._meta.get_(add|change|delete)_permission
методы будут удалены. - Ключ сеанса
django_language
больше не будет считываться для обратной совместимости. - Географические файлы Sitemap будут удалены (
django.contrib.gis.sitemaps.views.index
иdjango.contrib.gis.sitemaps.views.sitemap
). django.utils.html.fix_ampersands
,fix_ampersands
фильтр шаблона иdjango.utils.html.clean_html
будет удален после ускоренного прекращения поддержки.
1,7 ¶
См. Примечания к выпуску Django 1.5 для получения более подробной информации об этих изменениях.
- Модуль
django.utils.simplejson
будет удален. Стандартная библиотека предоставляет то,json
что следует использовать вместо этого. - Функция
django.utils.itercompat.product
будет удалена. Вместо этого следует использовать встроенную версию Python. - Автоматическая коррекция параметров INSTALLED_APPS и TEMPLATE_DIRS, когда они указаны как простая строка вместо кортежа, будет удалена и вызовет исключение.
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()
functions fromdjango.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 (django.contrib.auth.views.password_reset_confirm_uidb36
), будет удалена. Если на вашем сайте Django 1.6 работает дольшеPASSWORD_RESET_TIMEOUT_DAYS
, это изменение не повлияет. В противном случае любые ссылки для сброса пароля, созданные до обновления до Django 1.7, не будут работать после обновления. django.utils.encoding.StrAndUnicode
Смесь в будет удалена.
1,6 ¶
См. Примечания к выпуску Django 1.4 для получения более подробной информации об этих изменениях.
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.4csrf_response_exempt
не использовался (он возвращает ту же функцию) иcsrf_view_exempt
был синонимомdjango.views.decorators.csrf.csrf_exempt
, который следует использовать для его замены.- В
django.core.cache.backends.memcached.CacheClass
Django 1.3 бэкэнд был разделен на две части, чтобы обеспечить поддержку PyLibMC. ИсторическоеCacheClass
будет удалено в пользуdjango.core.cache.backends.memcached.MemcachedCache
. - Объекты с префиксом UK
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
. Это также означает, что старый (до 1.4) стиль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/'
, больше не будут приниматься.
1,5 ¶
См. Примечания к выпуску Django 1.3 для получения более подробной информации об этих изменениях.
- Запуск Django без a
SECRET_KEY
приведет к исключению, а не к файлуDeprecationWarning
. (Это ускорено по сравнению с обычным путем отказа от поддержки; см. Примечания к выпуску Django 1.4 .) mod_python
Обработчик запроса будет удален.mod_wsgi
Обработчик должен использоваться вместо этого.template
Атрибутdjango.test.client.Response
объектов , возвращенных тестовый клиент будет удален.templates
Атрибут должен быть использован вместо.django.test.simple.DjangoTestRunner
Будут удалены. Вместо этого используйтеunittest
класс -native. Функцииdjango.test.simple.DjangoTestRunner
(включая отказоустойчивость и завершение теста Ctrl-C) могут быть предоставленыunittest.TextTestRunner
.- Недокументированная функция
django.contrib.formtools.utils.security_hash
будет удалена, вместо этого используйтеdjango.contrib.formtools.utils.form_hmac
- Модули универсального представления на основе функций будут удалены в пользу их эквивалентов на основе классов, описанных здесь .
django.core.servers.basehttp.AdminMediaHandler
Будут удалены. Вместо него используйтеdjango.contrib.staticfiles.handlers.StaticFilesHandler
.- Библиотека тегов шаблона
adminmedia
и тег шаблона будут удалены в пользу общей обработки статических файлов. (Это быстрее, чем обычный способ отказа от поддержки; см. Примечания к выпуску Django 1.4 .){% admin_media_prefix %}
- В
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 больше не поддерживает версии библиотеки Python-Markdown до 2.1. Использовалась ускоренная временная шкала, поскольку это было устаревшим, связанным с безопасностью.
CACHE_BACKEND
Настройки будут удалены. Бэкэнд (ы) кеширования должен быть указан вCACHES
настройке.
1,4 ¶
См. Примечания к выпуску Django 1.2 для получения более подробной информации об этих изменениях.
CsrfResponseMiddleware
иCsrfMiddleware
будет удален. Используйте тег шаблона внутри форм, чтобы включить защиту CSRF. остается и по умолчанию включен.{% csrf_token %}
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
Модель (вdjango.contrib.auth
), связанный с ним менеджер вUser
модели (user.message_set
), и связанные с ним методы (user.message_set.create()
иuser.get_and_delete_messages()
), будут удалены. Фреймворк сообщений следует использовать вместо этого. Связаннаяmessages
переменная, возвращаемая обработчиком контекста аутентификации, также будет удалена. Обратите внимание, что это означает, что приложение администратора будет зависеть от обработчика контекста сообщений.- Бэкэнды аутентификации должны будут поддерживать
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
(и подклассов) будет удален.
1,3 ¶
См. Примечания к выпуску Django 1.1 для получения более подробной информации об этих изменениях.
AdminSite.root()
. Этот метод подключения админских URL будет удален в пользу включенияadmin.site.urls
.- Бэкэндам аутентификации необходимо определить логические атрибуты
supports_object_permissions
иsupports_anonymous_user
до версии 1.4, после чего он будет считать , что все движки будут поддерживать эти параметры.