Django非推奨のタイムライン
このドキュメントでは、非推奨ポリシーに従って、Djangoのさまざまな部分が非推奨に続いて、後方互換性のない方法で削除または変更される時期について概説します。 各アイテムの詳細は、多くの場合、以前の2つのバージョンのリリースノートに記載されています。
4.1
これらの変更の詳細については、 Django3.2リリースノートを参照してください。
copy.deepcopy()を使用したディープコピーの作成をサポートしていないオブジェクトをTestCase.setUpTestData()のクラス属性に割り当てるサポートは削除されます。BaseCommand.requires_system_checksはブール値をサポートしません。django.core.validators.EmailValidatorのwhitelist引数とdomain_whitelist属性は削除されます。default_app_configモジュール変数は削除されます。TransactionTestCase.assertQuerysetEqual()は、文字列値と比較したときに、クエリセットでrepr()を自動的に呼び出さなくなりました。django.core.cache.backends.memcached.MemcachedCacheは削除されます。django.contrib.messages.storage.cookie.CookieStorageで使用されるDjango3.2より前の形式のメッセージのサポートは削除されます。
4.0
これらの変更の詳細については、 Django3.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()は削除されます。
これらの変更の詳細については、 Django3.1リリースノートを参照してください。
PASSWORD_RESET_TIMEOUT_DAYS設定は削除されます。- 右側にブール値以外の値を使用した:lookup: `isnull` ルックアップの文書化されていない使用法は許可されなくなります。
django.db.models.query_utils.InvalidQuery例外クラスは削除されます。django-admin.pyエントリポイントは削除されます。HttpRequest.is_ajax()メソッドは削除されます。django.contrib.messages.storage.cookie.CookieStorageで使用されるCookie値のDjango3.1より前のエンコード形式のサポートは削除されます。- 管理サイト(SHA-1ハッシュアルゴリズムを使用)でのDjango3.1より前のパスワードリセットトークンのサポートは削除されます。
- Django3.1より前のセッションのエンコーディング形式のサポートは削除されます。
- Django 3.1より前の
django.core.signing.Signer署名(SHA-1アルゴリズムでエンコード)のサポートは削除されます。 django.core.signing.loads()でのDjango3.1より前のdjango.core.signing.dumps()署名(SHA-1アルゴリズムでエンコード)のサポートは削除されます。- Django 3.1より前のユーザーセッション(SHA-1アルゴリズムを使用)のサポートは削除されます。
django.utils.deprecation.MiddlewareMixin.__init__()のget_response引数は必須であり、Noneを受け入れません。django.dispatch.Signalのproviding_args引数は削除されます。django.utils.crypto.get_random_string()のlength引数が必要になります。ModelMultipleChoiceFieldのlistメッセージは削除されます。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
これらの変更の詳細については、 Django2.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
これらの変更の詳細については、 Django2.0リリースノートを参照してください。
django.db.backends.postgresql_psycopg2モジュールは削除されます。django.shortcuts.render_to_response()は削除されます。DEFAULT_CONTENT_TYPE設定は削除されます。HttpRequest.xreadlines()は削除されます。Field.from_db_value()およびExpression.convert_value()のcontext引数のサポートは削除されます。QuerySet.earliest()およびlatest()のfield_nameキーワード引数は削除されます。
これらの変更の詳細については、 Django2.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
これらの変更の詳細については、 Django1.11リリースノートを参照してください。
contrib.auth.views.login()、logout()、password_change()、password_change_done()、password_reset()、password_reset_done()、password_reset_confirm()、およびpassword_reset_complete()は削除されます。contrib.auth.views.logout_then_login()のextra_contextパラメーターは削除されます。django.test.runner.setup_databases()は削除されます。django.utils.translation.string_concat()は削除されます。django.core.cache.backends.memcached.PyLibMCCacheは、OPTIONSの最上位属性としてpylibmcの動作設定を渡すことをサポートしなくなります。django.utils.http.is_safe_url()のhostパラメーターは削除されます。{% include %}テンプレートタグのレンダリング中に発生した例外のサイレンシングは削除されます。DatabaseIntrospection.get_indexes()は削除されます。- 認証バックエンドの
authenticate()メソッドでは、最初の位置引数としてrequestが必要になります。 django.db.models.permalink()デコレータは削除されます。USE_ETAGS設定は削除されます。CommonMiddlewareとdjango.utils.cache.patch_response_headers()はETagを設定しなくなります。Model._meta.has_auto_field属性は削除されます。url()による正規表現グループ((?i)、(?L)、(?m)、(?s)、および [ X119X])は削除されます。renderer引数のないWidget.render()メソッドのサポートは削除されます。
2.0
これらの変更の詳細については、 Django1.9リリースノートを参照してください。
django.dispatch.signals.Signal.disconnect()のweak引数は削除されます。django.db.backends.base.BaseDatabaseOperations.check_aggregate_support()は削除されます。django.forms.extrasパッケージは削除されます。assignment_tagヘルパーは削除されます。assertsRedirectsのhost引数は削除されます。 パスが同一である場合に絶対URLが相対URLと等しいと見なされるようにする互換性レイヤーも削除されます。Field.relは削除されます。Field.remote_field.to属性は削除されます。ForeignKeyおよびOneToOneFieldのon_delete引数が必要になります。django.db.models.fields.add_lazy_relation()は削除されます。- タイムゾーンのサポートが有効になっている場合、タイムゾーンをサポートしないデータベースバックエンドは、ORMの外部で実行されるSQLクエリにパラメータとして渡されるときに、認識されている日時をUTCのナイーブな値に変換しなくなります。
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__()メソッドは削除されます。- 単一の位置パラメータを使用したカスタムエラービューのサポートは廃止されます。
django.utils.feedgenerator.Atom1Feedおよびdjango.utils.feedgenerator.RssFeedのmime_type属性は削除され、content_typeが優先されます。django.conf.urls.include()のapp_name引数は削除されます。include()への最初の引数として3タプルを渡すためのサポートは削除されます。- アプリケーション名前空間なしでURLインスタンス名前空間を設定するためのサポートは削除されます。
Field._get_val_from_obj()は削除され、Field.value_from_object()が優先されます。django.template.loaders.eggs.Loaderは削除されます。contrib.authビューのcurrent_appパラメーターは削除されます。SimpleTestCase.assertRaisesMessage()へのcallable_objキーワード引数は削除されます。ModelAdminメソッドのallow_tags属性のサポートは削除されます。SyndicationFeed.add_item()へのenclosureキーワード引数は削除されます。django.template.base.Originのdjango.template.loader.LoaderOriginおよびdjango.template.base.StringOriginエイリアスは削除されます。
これらの変更の詳細については、 Django1.10リリースノートを参照してください。
makemigrations --exitオプションは削除されます。- 逆外部キーまたは多対多関係への直接割り当てのサポートは削除されます。
django.contrib.gis.geos.GEOSGeometryのget_srid()およびset_srid()メソッドは削除されます。django.contrib.gis.geos.Pointの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.MultiPolygonのcascaded_unionプロパティは削除されます。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()をメソッドとして使用することはサポートされなくなります。Model._metaのプライベート属性virtual_fieldsは削除されます。Field.contribute_to_class()のプライベートキーワード引数virtual_onlyおよびModel._meta.add_field()のvirtualは削除されます。javascript_catalog()およびjson_catalog()ビューは削除されます。django.contrib.gis.utils.precision_wkt()機能は削除されます。- マルチテーブル継承では、
OneToOneFieldから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を使用した古いスタイルのミドルウェアのサポートは削除されます。
1.10
これらの変更の詳細については、 Django1.8リリースノートを参照してください。
quote_name_unless_aliasメソッドを呼び出すためのエイリアスとしてSQLCompilerを直接呼び出すためのサポートは削除されます。cycleおよびfirstofテンプレートタグは、futureテンプレートタグライブラリから削除されます(1.6 / 1.7非推奨期間中に使用されます)。django.conf.urls.patterns()は削除されます。django.conf.urls.i18n.i18n_patterns()に対するprefix引数のサポートは削除されます。SimpleTestCase.urlsは削除されます。forテンプレートタグでアンパックされた値のカウントを誤って使用すると、サイレントに失敗するのではなく、例外が発生します。- 点線のPythonパスを使用してURLを逆にする機能は削除されます。
LOGIN_URLおよびLOGIN_REDIRECT_URL設定に点線のPythonパスを使用する機能は削除されます。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()
django.forms.RegexFieldのerror_message引数は削除されます。unordered_listフィルターは、古いスタイルのリストをサポートしなくなります。url()への文字列view引数のサポートは削除されます。django.forms.Form._has_changed()の名前をhas_changed()に変更する下位互換性のあるシムは削除されます。removetagsテンプレートフィルターは削除されます。django.utils.htmlのremove_tags()およびstrip_entities()機能は削除されます。django.contrib.auth.views.password_reset()のis_admin_site引数は削除されます。django.db.models.field.subclassing.SubfieldBaseは削除されます。django.utils.checksumsは削除されます。 その機能はdjango-localflavor1.1+に含まれています。django.contrib.admin.helpers.InlineAdminFormのoriginal_content_type_id属性は削除されます。FormMixin.get_form()をform_class引数のデフォルト値なしで定義できるようにする下位互換性シムは削除されます。- 次の設定は削除されます。
ALLOWED_INCLUDE_ROOTSTEMPLATE_CONTEXT_PROCESSORSTEMPLATE_DEBUGTEMPLATE_DIRSTEMPLATE_LOADERSTEMPLATE_STRING_IF_INVALID
- 下位互換性エイリアス
django.template.loader.BaseLoaderは削除されます。 - get_template()および select_template()によって返されるDjangoテンプレートオブジェクトは、 render()メソッドで Context を受け入れなくなりました。
- テンプレート応答API は、コンテキストとテンプレートの代わりに、
dictとバックエンド依存のテンプレートオブジェクトの使用を強制します。 - 次の関数およびクラスの
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は削除されます。 migrate管理コマンドの--listオプションは削除されます。ssiテンプレートタグは削除されます。ifテンプレートタグの=比較演算子のサポートは削除されます。max_length引数なしでStorage.get_available_name()およびStorage.save()を定義できるようにする下位互換性シムは削除されます。ModelFormMixin.success_urlのレガシー%(<foo>)s構文のサポートは削除されます。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
これらの変更の詳細については、 Django1.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からインポートできなくなります。runfcgi管理コマンドによるFastCGIサポートは削除されます。 WSGIを使用してプロジェクトをデプロイしてください。django.utils.datastructures.SortedDictは削除されます。 代わりに、Python標準ライブラリのcollections.OrderedDictを使用してください。ModelAdmin.declared_fieldsetsは削除されます。- Djangoコードベースの
util.pyのインスタンスは、すべてのutilおよびutils参照を統合するために、utils.pyに名前が変更されました。 下位互換性を提供していたモジュールは削除されます。django.contrib.admin.utildjango.contrib.gis.db.backends.utildjango.db.backends.utildjango.forms.util
ModelAdmin.get_formsetsは削除されます。BaseMemcachedCache._get_memcache_timeout()メソッドの名前をget_backend_timeout()に変更するために導入された下位互換性シムは削除されます。- :djadmin: `dumpdata` の
--naturalおよび-nオプションは削除されます。 serializers.serialize()のuse_natural_keys引数は削除されます。- プライベート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は削除されます。 :setting: `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_というプレフィックスが付いたデータベース設定の独立したエントリとしてのデータベーステスト設定はサポートされなくなります。- ModelChoiceField および ModelMultipleChoiceField の
cache_choicesオプションは削除されます。 - 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
これらの変更の詳細については、 Django1.6リリースノートを参照してください。
django.contrib.commentsは削除されます。- 次のトランザクション管理APIは削除されます。
TransactionMiddleware、django.db.transactionで定義されているデコレータとコンテキストマネージャautocommit、commit_on_success、およびcommit_manually、- 関数
commit_unless_managedおよびrollback_unless_managedは、django.db.transactionでも定義されています。 TRANSACTIONS_MANAGED設定。
- :ttag: `cycle` および:ttag:` 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コードベースからすべてのdjango.contrib参照を削除するという目標の一環として、削除されます。 代わりにdjango.contrib.contenttypes.views.shortcutを使用してください。django.conf.urls.shortcutも削除されます。- Python Imaging Library(PIL)モジュールのサポートは削除されます。これは、アクティブに維持されていないように見え、Python3では機能しないためです。
- 次のプライベートAPIは削除されます。
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.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のフォームに追加します。 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、fix_ampersandsテンプレートフィルター、およびdjango.utils.html.clean_htmlは、廃止が加速した後、削除されます。
1.7
これらの変更の詳細については、 Django1.5リリースノートを参照してください。
- モジュール
django.utils.simplejsonが削除されます。 標準ライブラリにはjsonが用意されており、代わりに使用する必要があります。 - 関数
django.utils.itercompat.productは削除されます。 代わりに、Pythonの組み込みバージョンを使用する必要があります。 - タプルではなくプレーン文字列として指定されている場合のINSTALLED_APPSおよびTEMPLATE_DIRS設定の自動修正は削除され、例外が発生します。
- HttpResponse 、 SimpleTemplateResponse 、および TemplateResponse の
__init__メソッドに対するmimetype引数は削除されます。 代わりに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 メソッドは非推奨です。 代わりに、Python2.6以降で使用可能なwarnings.catch_warningsコンテキストマネージャーを使用してください。 - AuthenticationForm の文書化されていない
check_for_test_cookieメソッドは廃止が加速された後に削除されます。 このフォームをサブクラス化するユーザーは、このメソッドへの呼び出しを削除し、代わりに、認証関連のビューがCSRFで保護されていることを確認する必要があります。これにより、Cookieが有効になります。 - base36でエンコードされたユーザーID(
django.contrib.auth.views.password_reset_confirm_uidb36)をサポートするバージョンのdjango.contrib.auth.views.password_reset_confirm()は削除されます。 サイトでDjango1.6を:setting: `PASSWORD_RESET_TIMEOUT_DAYS` を超えて実行している場合、この変更は効果がありません。 そうでない場合、Django 1.7にアップグレードする前に生成されたパスワードリセットリンクは、アップグレード後に機能しません。 django.utils.encoding.StrAndUnicodeミックスインは削除されます。
1.6
これらの変更の詳細については、 Django1.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.4以降、csrf_response_exemptはno-op(同じ関数を返します)であり、csrf_view_exemptはdjango.views.decorators.csrf.csrf_exemptの同義語であり、これを置き換えるために使用する必要があります。django.core.cache.backends.memcached.CacheClassバックエンドは、PyLibMCのサポートを導入するために、Django1.3で2つに分割されました。 過去のCacheClassは削除され、django.core.cache.backends.memcached.MemcachedCacheが優先されます。django.contrib.localflavor.ukのUKプレフィックス付きオブジェクトには、GBプレフィックス付きの名前でのみアクセスできます(GBは英国の正しいISO 3166コードです)。IGNORABLE_404_STARTSおよびIGNORABLE_404_ENDSの設定は、1.4リリースの:setting: `IGNORABLE_404_URLS` に置き換えられました。 それらは削除されます。- フォームウィザードは、1.4でプラグ可能なバックエンドを備えたクラスベースのビューを使用するようにリファクタリングされました。 以前の実装は削除されます。
- cache_page()を呼び出す従来の方法は削除されます。
'mail_admins'ロギングハンドラーにdebug-falseフィルターを自動的に追加する下位互換性シムは削除されます。 :setting: `LOGGING` 設定には、必要に応じてこのフィルターを明示的に含める必要があります。- 組み込みの切り捨て関数
django.utils.text.truncate_words()およびdjango.utils.text.truncate_html_words()は削除され、django.utils.text.Truncatorクラスが優先されます。 django.contrib.gis.geoip.GeoIPクラスは1.4でdjango.contrib.gis.geoipに移動されました–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は、1.4でHttpRequest.bodyに名前が変更されました。 下位互換性は削除されます–HttpRequest.raw_post_dataは機能しなくなります。 ModelAdmin.response_add()のpost_url_continueパラメーターの値は、None(新しく作成されたオブジェクトの編集ページにリダイレクトするため)または事前にフォーマットされたURLのいずれかである必要があります。 以前のデフォルトの'../%s/'などの文字列形式は、今後受け入れられなくなります。
1.5
これらの変更の詳細については、 Django1.3リリースノートを参照してください。
- :setting: `SECRET_KEY` なしでDjangoを起動すると、
DeprecationWarningではなく例外が発生します。 (これは通常の非推奨パスから加速されます。 Django1.4リリースノートを参照してください。) mod_pythonリクエストハンドラは削除されます。 代わりにmod_wsgiハンドラーを使用する必要があります。- テストクライアントによって返される
django.test.client.Responseオブジェクトのtemplate属性は削除されます。 代わりに templates 属性を使用する必要があります。 django.test.simple.DjangoTestRunnerは削除されます。 代わりに、unittestネイティブクラスを使用してください。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とテンプレートタグ{% admin_media_prefix %}は削除され、一般的な静的ファイルの処理が優先されます。 (これは通常の非推奨パスよりも高速です。 Django1.4リリースノートを参照してください。) urlおよびssiテンプレートタグは、各タグの最初の引数が暗黙の文字列ではなくテンプレート変数になるように変更されます。 1.4では、この動作はfutureテンプレートタグライブラリのタグのバージョンによって提供されます。resetおよびsqlreset管理コマンドは削除されます。- 認証バックエンドは、アクセス許可を処理するすべてのメソッドに渡される非アクティブなユーザーをサポートする必要があります。
supports_inactive_user属性はチェックされなくなり、カスタムバックエンドから削除できるようになります。 - transform()は、SRID値のないジオメトリで呼び出されると、 GEOSException を発生させます。
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が優先されます。- :setting: `MEDIA_URL` または:setting:` STATIC_URL` の設定は、テンプレート内のパスを組み合わせる一貫した方法があることを確認するために、末尾にスラッシュを付ける必要があります。
django.db.models.fields.URLField.verify_existsは削除されます。 この機能は、手に負えないセキュリティとパフォーマンスの問題のために1.3.1で非推奨になり、わずかに加速された非推奨の時間枠に従います。- いわゆるプロジェクトパスの下にある翻訳は、実行時に実行される翻訳構築プロセス中に無視されます。 :setting: `LOCALE_PATHS` 設定は、アプリ固有ではない変換を値に含む
localeディレクトリへのファイルシステムパスを含めることで、同じタスクに使用できます。 - Markup contribアプリは、2.1より前のバージョンのPython-Markdownライブラリをサポートしなくなります。 これはセキュリティ関連の非推奨であったため、加速されたタイムラインが使用されました。
CACHE_BACKEND設定は削除されます。 キャッシュバックエンドは、:setting: `CACHES` 設定で指定する必要があります。
1.4
これらの変更の詳細については、 Django1.2リリースノートを参照してください。
CsrfResponseMiddlewareとCsrfMiddlewareは削除されます。 フォーム内で{% csrf_token %}テンプレートタグを使用して、CSRF保護を有効にします。CsrfViewMiddlewareはそのままで、デフォルトで有効になっています。- 1.2でコアに移行したCSRF機能の古いインポート(
django.contrib.csrf.*)は削除されます。 django.contrib.gis.db.backendモジュールは削除され、特定のバックエンドが優先されます。SMTPConnectionは削除され、一般的なメールバックエンドAPIが採用されます。- データベースバックエンドの多対多のSQL生成関数は削除されます。
DATABASE_*ファミリーのトップレベル設定を使用してデータベース接続を定義する機能は削除されます。- 省略表記を使用してデータベースバックエンドを指定する機能(つまり、
django.db.backends.sqlite3の代わりに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()テストランナーとともに、機能ベースのテストランナーを使用する機能が削除されます。django.contrib.syndicationのviews.feed()ビューとfeeds.Feedクラスは削除されます。 代わりに、クラスベースのビューviews.Feedを使用する必要があります。django.core.context_processors.auth。 このリリースでは、django.contrib.auth.context_processors.authの新しいメソッドを優先して、古いメソッドを削除します。postgresqlデータベースバックエンドは削除されます。代わりに、postgresql_psycopg2バックエンドを使用してください。no言語コードは削除され、nb言語コードに置き換えられました。- 認証バックエンドは、すべてのバックエンドが非アクティブなユーザーを処理すると想定されるバージョン1.5まで、ブール属性
supports_inactive_userを定義する必要があります。 django.db.models.fields.XMLFieldは削除されます。 これは、1.3リリースの一部として非推奨になりました。oldformsが削除されて以来、このフィールドは単純なTextFieldの役割を超える役割を果たしていないため、非推奨の加速スケジュールが使用されています。XMLFieldのすべての使用は、TextFieldに置き換えることができます。django.core.files.storage.Storage(およびサブクラス)のopen()メソッドに対する文書化されていないmixinパラメーターは削除されます。
1.3
これらの変更の詳細については、 Django1.1リリースノートを参照してください。
AdminSite.root()。 管理URLを接続するこの方法は削除され、admin.site.urlsが含まれるようになります。- 認証バックエンドは、バージョン1.4までブール属性
supports_object_permissionsおよびsupports_anonymous_userを定義する必要があります。バージョン1.4では、すべてのバックエンドがこれらのオプションをサポートすると想定されます。