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-localflavor
1.1+に含まれています。django.contrib.admin.helpers.InlineAdminForm
のoriginal_content_type_id
属性は削除されます。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
は削除されます。 - 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.util
django.contrib.gis.db.backends.util
django.db.backends.util
django.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.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
のフォームに追加します。 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では、すべてのバックエンドがこれらのオプションをサポートすると想定されます。