{"title":"장고 폐기 일정","version":"5.2","locale":"ko","docname":"internals/deprecation","url":"/ko/5.2/internals/deprecation/","canonical":"https://djangodocs.dev/ko/5.2/internals/deprecation/","summary":"This document outlines when various pieces of Django will be removed or altered in a backward incompatible way, following their deprecation, as per the…","html":"<h1>장고 폐기 일정<a class=\"heading-anchor\" href=\"#django-deprecation-timeline\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h1>\n<p>This document outlines when various pieces of Django will be removed or altered\nin a backward incompatible way, following their deprecation, as per the\n<a class=\"reference internal\" href=\"/ko/5.2/internals/release-process/#internal-release-deprecation-policy\"><span class=\"std std-ref\">deprecation policy</span></a>. More details\nabout each item can often be found in the release notes of two versions prior.</p>\n<section id=\"deprecation-removed-in-6-1\">\n<span id=\"id1\"></span><h2>6.1<a class=\"heading-anchor\" href=\"#deprecation-removed-in-6-1\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<p>See the <a class=\"reference internal\" href=\"/ko/5.2/releases/5.2/#deprecated-features-5-2\"><span class=\"std std-ref\">Django 5.2 release notes</span></a> for more\ndetails on these changes.</p>\n<ul class=\"simple\">\n<li><p>The <code class=\"docutils literal notranslate\">all</code> keyword argument of <code class=\"docutils literal notranslate\">django.contrib.staticfiles.finders.find()</code>\nwill be removed.</p></li>\n<li><p>Fallbacks to <code class=\"docutils literal notranslate\">request.user</code> and <code class=\"docutils literal notranslate\">request.auser()</code> when <code class=\"docutils literal notranslate\">user</code> is\n<code class=\"docutils literal notranslate\">None</code> in <code class=\"docutils literal notranslate\">django.contrib.auth.login()</code> and\n<code class=\"docutils literal notranslate\">django.contrib.auth.alogin()</code>, respectively, will be removed.</p></li>\n<li><p>The <code class=\"docutils literal notranslate\">ordering</code> keyword argument of the PostgreSQL specific aggregation\nfunctions <code class=\"docutils literal notranslate\">django.contrib.postgres.aggregates.ArrayAgg</code>,\n<code class=\"docutils literal notranslate\">django.contrib.postgres.aggregates.JSONBAgg</code>, and\n<code class=\"docutils literal notranslate\">django.contrib.postgres.aggregates.StringAgg</code> will be removed.</p></li>\n<li><p>Support for subclasses of <code class=\"docutils literal notranslate\">RemoteUserMiddleware</code> that override\n<code class=\"docutils literal notranslate\">process_request()</code> without overriding <code class=\"docutils literal notranslate\">aprocess_request()</code> will be\nremoved.</p></li>\n</ul>\n</section>\n<section id=\"deprecation-removed-in-6-0\">\n<span id=\"id2\"></span><h2>6.0<a class=\"heading-anchor\" href=\"#deprecation-removed-in-6-0\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<p>See the <a class=\"reference internal\" href=\"/ko/5.2/releases/5.0/#deprecated-features-5-0\"><span class=\"std std-ref\">Django 5.0 release notes</span></a> for more\ndetails on these changes.</p>\n<ul class=\"simple\">\n<li><p>The <code class=\"docutils literal notranslate\">DjangoDivFormRenderer</code> and <code class=\"docutils literal notranslate\">Jinja2DivFormRenderer</code> transitional form\nrenderers will be removed.</p></li>\n<li><p>Support for passing positional arguments to <code class=\"docutils literal notranslate\">BaseConstraint</code> will be\nremoved.</p></li>\n<li><p><code class=\"docutils literal notranslate\">request</code> will be required in the signature of\n<code class=\"docutils literal notranslate\">ModelAdmin.lookup_allowed()</code> subclasses.</p></li>\n<li><p>The <code class=\"docutils literal notranslate\">django.db.models.sql.datastructures.Join</code> will no longer fallback to\n<code class=\"docutils literal notranslate\">get_joining_columns()</code>.</p></li>\n<li><p>The <code class=\"docutils literal notranslate\">get_joining_columns()</code> method of <code class=\"docutils literal notranslate\">ForeignObject</code> and\n<code class=\"docutils literal notranslate\">ForeignObjectRel</code> will be removed.</p></li>\n<li><p>The <code class=\"docutils literal notranslate\">ForeignObject.get_reverse_joining_columns()</code> method will be removed.</p></li>\n<li><p>The default scheme for <code class=\"docutils literal notranslate\">forms.URLField</code> will change from <code class=\"docutils literal notranslate\">&quot;http&quot;</code> to\n<code class=\"docutils literal notranslate\">&quot;https&quot;</code>.</p></li>\n<li><p>Support for calling <code class=\"docutils literal notranslate\">format_html()</code> without passing args or kwargs will be\nremoved.</p></li>\n<li><p>Support for <code class=\"docutils literal notranslate\">cx_Oracle</code> will be removed.</p></li>\n<li><p><code class=\"docutils literal notranslate\">BaseDatabaseOperations.field_cast_sql()</code> will be removed.</p></li>\n<li><p>The <code class=\"docutils literal notranslate\">ChoicesMeta</code> alias to <code class=\"docutils literal notranslate\">django.db.models.enums.ChoicesType</code> will be\nremoved.</p></li>\n<li><p>The <code class=\"docutils literal notranslate\">Prefetch.get_current_queryset()</code> method will be removed.</p></li>\n<li><p>The <code class=\"docutils literal notranslate\">get_prefetch_queryset()</code> method of related managers and descriptors\nwill be removed.</p></li>\n<li><p><code class=\"docutils literal notranslate\">get_prefetcher()</code> and <code class=\"docutils literal notranslate\">prefetch_related_objects()</code> will no longer\nfallback to <code class=\"docutils literal notranslate\">get_prefetch_queryset()</code>.</p></li>\n<li><p>The <code class=\"docutils literal notranslate\">FORMS_URLFIELD_ASSUME_HTTPS</code> transitional setting will be removed.</p></li>\n</ul>\n<p>See the <a class=\"reference internal\" href=\"/ko/5.2/releases/5.1/#deprecated-features-5-1\"><span class=\"std std-ref\">Django 5.1 release notes</span></a> for more\ndetails on these changes.</p>\n<ul class=\"simple\">\n<li><p>The <code class=\"docutils literal notranslate\">ModelAdmin.log_deletion()</code> and <code class=\"docutils literal notranslate\">LogEntryManager.log_action()</code>\nmethods will be removed.</p></li>\n<li><p>The undocumented <code class=\"docutils literal notranslate\">django.utils.itercompat.is_iterable()</code> function and the\n<code class=\"docutils literal notranslate\">django.utils.itercompat</code> module will be removed.</p></li>\n<li><p>The <code class=\"docutils literal notranslate\">django.contrib.gis.geoip2.GeoIP2.coords()</code> method will be removed.</p></li>\n<li><p>The <code class=\"docutils literal notranslate\">django.contrib.gis.geoip2.GeoIP2.open()</code> method will be removed.</p></li>\n<li><p>Support for passing positional arguments to <code class=\"docutils literal notranslate\">Model.save()</code> and\n<code class=\"docutils literal notranslate\">Model.asave()</code> will be removed.</p></li>\n<li><p>The setter for <code class=\"docutils literal notranslate\">django.contrib.gis.gdal.OGRGeometry.coord_dim</code> will be\nremoved.</p></li>\n<li><p><code class=\"docutils literal notranslate\">django.urls.register_converter()</code> will no longer allow overriding existing\nconverters.</p></li>\n<li><p>The <code class=\"docutils literal notranslate\">check</code> keyword argument of <code class=\"docutils literal notranslate\">CheckConstraint</code> will be removed.</p></li>\n<li><p>The <code class=\"docutils literal notranslate\">OS_OPEN_FLAGS</code> attribute of\n<a class=\"reference internal\" href=\"/ko/5.2/ref/files/storage/#django.core.files.storage.FileSystemStorage\" title=\"django.core.files.storage.FileSystemStorage\"><code class=\"xref py py-class docutils literal notranslate\">FileSystemStorage</code></a> will be removed.</p></li>\n<li><p>The <code class=\"docutils literal notranslate\">get_cache_name()</code> method of <code class=\"docutils literal notranslate\">FieldCacheMixin</code> will be removed.</p></li>\n</ul>\n</section>\n<section id=\"deprecation-removed-in-5-1\">\n<span id=\"id3\"></span><h2>5.1<a class=\"heading-anchor\" href=\"#deprecation-removed-in-5-1\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<p>See the <a class=\"reference internal\" href=\"/ko/5.2/releases/4.2/#deprecated-features-4-2\"><span class=\"std std-ref\">Django 4.2 release notes</span></a> for more\ndetails on these changes.</p>\n<ul class=\"simple\">\n<li><p>The <code class=\"docutils literal notranslate\">BaseUserManager.make_random_password()</code> method will be removed.</p></li>\n<li><p>The model’s <code class=\"docutils literal notranslate\">Meta.index_together</code> option will be removed.</p></li>\n<li><p>The <code class=\"docutils literal notranslate\">length_is</code> template filter will be removed.</p></li>\n<li><p>The <code class=\"docutils literal notranslate\">django.contrib.auth.hashers.SHA1PasswordHasher</code>,\n<code class=\"docutils literal notranslate\">django.contrib.auth.hashers.UnsaltedSHA1PasswordHasher</code>, and\n<code class=\"docutils literal notranslate\">django.contrib.auth.hashers.UnsaltedMD5PasswordHasher</code> will be removed.</p></li>\n<li><p>The model <code class=\"docutils literal notranslate\">django.contrib.postgres.fields.CICharField</code>,\n<code class=\"docutils literal notranslate\">django.contrib.postgres.fields.CIEmailField</code>, and\n<code class=\"docutils literal notranslate\">django.contrib.postgres.fields.CITextField</code> will be removed. Stub fields\nwill remain for compatibility with historical migrations.</p></li>\n<li><p>The <code class=\"docutils literal notranslate\">django.contrib.postgres.fields.CIText</code> mixin will be removed.</p></li>\n<li><p>The <code class=\"docutils literal notranslate\">map_width</code> and <code class=\"docutils literal notranslate\">map_height</code> attributes of <code class=\"docutils literal notranslate\">BaseGeometryWidget</code>\nwill be removed.</p></li>\n<li><p>The <code class=\"docutils literal notranslate\">SimpleTestCase.assertFormsetError()</code> method will be removed.</p></li>\n<li><p>The <code class=\"docutils literal notranslate\">TransactionTestCase.assertQuerysetEqual()</code> method will be removed.</p></li>\n<li><p>Support for passing encoded JSON string literals to <code class=\"docutils literal notranslate\">JSONField</code> and\nassociated lookups and expressions will be removed.</p></li>\n<li><p>Support for passing positional arguments to <code class=\"docutils literal notranslate\">Signer</code> and\n<code class=\"docutils literal notranslate\">TimestampSigner</code> will be removed.</p></li>\n<li><p>The <code class=\"docutils literal notranslate\">DEFAULT_FILE_STORAGE</code> and <code class=\"docutils literal notranslate\">STATICFILES_STORAGE</code> settings will be\nremoved.</p></li>\n<li><p>The <code class=\"docutils literal notranslate\">django.core.files.storage.get_storage_class()</code> function will be\nremoved.</p></li>\n</ul>\n</section>\n<section id=\"deprecation-removed-in-5-0\">\n<span id=\"id4\"></span><h2>5.0<a class=\"heading-anchor\" href=\"#deprecation-removed-in-5-0\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<p>이러한 변경사항에 대한 자세한 내용은 :ref::<a href=\"#id1\"><span class=\"problematic\" id=\"id2\">`</span></a>Django 4.0 release notes &lt;deprecedated-features-4.0&gt;’을 참조하십시오.</p>\n<ul class=\"simple\">\n<li><p>“SERIALIZE” 테스트 설정이 제거됩니다.</p></li>\n<li><p>문서화되지 않은 “django.utils.baseconv” 모듈이 제거됩니다.</p></li>\n<li><p>문서화되지 않은 “django.utils.datetime_safe” 모듈이 제거됩니다.</p></li>\n<li><p>“USE_TZ” 설정의 기본값은 “False”에서 “True”로 변경됩니다.</p></li>\n<li><p>요청 컨텍스트 외부에 구축된 사이트 맵의 기본 사이트 맵 프로토콜이 “‘http”에서 “https”로 변경됩니다.</p></li>\n<li><p><code class=\"docutils literal notranslate\">DiscoverRunner.build_suite()</code> 및 <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>DiscoverRunner.run_tests()``에 대한 <a href=\"#id3\"><span class=\"problematic\" id=\"id4\">``</span></a>extra_tests``인수가 제거됩니다.</p></li>\n<li><p>The <code class=\"docutils literal notranslate\">django.contrib.postgres.aggregates.ArrayAgg</code>, <code class=\"docutils literal notranslate\">JSONBAgg</code>, and\n<code class=\"docutils literal notranslate\">StringAgg</code> aggregates will return <code class=\"docutils literal notranslate\">None</code> when there are no rows instead\nof <code class=\"docutils literal notranslate\">[]</code>, <code class=\"docutils literal notranslate\">[]</code>, and <code class=\"docutils literal notranslate\">''</code> respectively.</p></li>\n<li><p><code class=\"docutils literal notranslate\">USE_L10N</code> 설정이 제거됩니다.</p></li>\n<li><p><code class=\"docutils literal notranslate\">USE_DEPRECATED_PYTZ</code> 전환 설정이 제거됩니다.</p></li>\n<li><p><code class=\"docutils literal notranslate\">pytz</code> 시간대 지원이 제거됩니다.</p></li>\n<li><p><code class=\"docutils literal notranslate\">is_dst</code> 인수는 다음에서 제거됩니다:</p>\n<ul>\n<li><p><code class=\"docutils literal notranslate\">QuerySet.datetimes()</code></p></li>\n<li><p><code class=\"docutils literal notranslate\">django.utils.timezone.make_aware()</code></p></li>\n<li><p><code class=\"docutils literal notranslate\">django.db.models.functions.Trunc()</code></p></li>\n<li><p><code class=\"docutils literal notranslate\">django.db.models.functions.TruncSecond()</code></p></li>\n<li><p><code class=\"docutils literal notranslate\">django.db.models.functions.TruncMinute()</code></p></li>\n<li><p>django.db.models.functions.TruncHour()`</p></li>\n<li><p><code class=\"docutils literal notranslate\">django.db.models.functions.TruncDay()</code></p></li>\n<li><p><code class=\"docutils literal notranslate\">django.db.models.functions.TruncWeek()</code></p></li>\n<li><p><code class=\"docutils literal notranslate\">django.db.models.functions.TruncMonth()</code></p></li>\n<li><p><code class=\"docutils literal notranslate\">django.db.models.functions.TruncQuarter()</code></p></li>\n<li><p><code class=\"docutils literal notranslate\">django.db.models.functions.TruncYear()</code></p></li>\n</ul>\n</li>\n<li><p><code class=\"docutils literal notranslate\">django.contrib.gis.admin.GeoModelAdmin</code> 및 <code class=\"docutils literal notranslate\">OSMGeoAdmin</code> 클래스가 제거됩니다.</p></li>\n<li><p>문서화되지 않은 <code class=\"docutils literal notranslate\">BaseForm._html_output()</code> 메서드는 제거됩니다.</p></li>\n<li><p><code class=\"docutils literal notranslate\">ErrorDict</code> 및 <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>ErrorList``를 렌더링할 때 <a href=\"#id3\"><span class=\"problematic\" id=\"id4\">``</span></a>SafeString``이 아닌 <a href=\"#id5\"><span class=\"problematic\" id=\"id6\">``</span></a>str``을 반환하는 기능이 제거됩니다.</p></li>\n</ul>\n<p>이러한 변경 사항에 대한 자세한 내용은 :ref:<a href=\"#id1\"><span class=\"problematic\" id=\"id2\">`</span></a>Django 4.1 릴리스 노트 &lt;deprecated-features-4.1&gt;`를 참조하세요.</p>\n<ul class=\"simple\">\n<li><p><code class=\"docutils literal notranslate\">SitemapIndexItem.__str__()</code> 메서드가 제거됩니다.</p></li>\n<li><p><code class=\"docutils literal notranslate\">CSRF_COOKIE_MASKED</code> 전환 설정이 제거됩니다.</p></li>\n<li><p><code class=\"docutils literal notranslate\">django.utils.functional.cached_property()``의 ``name</code> 인수가 제거됩니다.</p></li>\n<li><p><code class=\"docutils literal notranslate\">django.contrib.postgres.constraints.ExclusionConstraint``의 ``opclasses</code> 인수가 제거됩니다.</p></li>\n<li><p><code class=\"docutils literal notranslate\">errors=None``을 ``SimpleTestCase.assertFormError()</code> 및 <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>assertFormsetError()``에 전달하는 문서화되지 않은 기능이 제거됩니다.</p></li>\n<li><p><a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>django.contrib.sessions.serializers.PickleSerializer``가 제거됩니다.</p></li>\n<li><p><code class=\"docutils literal notranslate\">chunk_size</code> 인수를 제공하지 않고 관련 객체를 미리 가져오는 쿼리셋에서 <code class=\"docutils literal notranslate\">QuerySet.iterator()</code> 사용이 더 이상 허용되지 않습니다.</p></li>\n<li><p>저장되지 않은 모델 인스턴스를 관련 필터에 전달하는 것은 더 이상 허용되지 않습니다.</p></li>\n<li><p><code class=\"docutils literal notranslate\">created=True``는 ``RemoteUserBackend.configure_user()</code> 하위 클래스의 서명에 필요합니다.</p></li>\n<li><p><code class=\"docutils literal notranslate\">django.contrib.auth.views.LogoutView</code> 및``django.contrib.auth.views.logout_then_login()``에서 <code class=\"docutils literal notranslate\">GET</code> 요청을 총한 로그아웃 지원이 제거됩니다.</p></li>\n<li><p><code class=\"docutils literal notranslate\">django.utils.timezone.utc</code> 별칭에서 <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>datetime.timezone.utc``가 제거됩니다.</p></li>\n<li><p><code class=\"docutils literal notranslate\">SimpleTestCase.assertFormError()</code> 및 <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>assertFormsetError()``에 응답 객체 및 폼/폼셋 이름을 전달하는 것이 더 이상 허용되지 않습니다.</p></li>\n<li><p><a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>django.contrib.gis.admin.OpenLayersWidget``이 제거됩니다.</p></li>\n<li><p><a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>django.contrib.auth.hashers.CryptPasswordHasher``가 제거됩니다.</p></li>\n<li><p><code class=\"docutils literal notranslate\">&quot;django/forms/default.html&quot;</code> 및 <code class=\"docutils literal notranslate\">&quot;django/forms/formsets/default.html&quot;</code> 템플릿이 제거됩니다.</p></li>\n<li><p><code class=\"docutils literal notranslate\">nulls_first=False</code> 또는 <code class=\"docutils literal notranslate\">nulls_last=False``를 ``Expression.asc()</code> 및 <code class=\"docutils literal notranslate\">Expression.desc()</code> 메서드에 전달하는 기능과 <code class=\"docutils literal notranslate\">OrderBy</code> 표현식은 제거됩니다.</p></li>\n</ul>\n</section>\n<section id=\"deprecation-removed-in-4-1\">\n<span id=\"id5\"></span><h2>4.1<a class=\"heading-anchor\" href=\"#deprecation-removed-in-4-1\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<p>이러한 변경 사항에 대한 자세한 내용은 :ref:<a href=\"#id1\"><span class=\"problematic\" id=\"id2\">`</span></a>Django 3.2 릴리스 노트 &lt;deprecated-features-3.2&gt;`를 참조하세요.</p>\n<ul class=\"simple\">\n<li><p><a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>TestCase.setUpTestData()``의 클래스 속성에 <a href=\"#id3\"><span class=\"problematic\" id=\"id4\">``</span></a>copy.deepcopy()``를 사용하여 깊은 복사 생성을 지원하지 않는 개체 할당에 대한 지원이 제거됩니다.</p></li>\n<li><p><a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>BaseCommand.requires_system_checks``는 부울 값을 지원하지 않습니다.</p></li>\n<li><p><a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>django.core.validators.EmailValidator``의 <a href=\"#id3\"><span class=\"problematic\" id=\"id4\">``</span></a>whitelist``인수 및 <a href=\"#id5\"><span class=\"problematic\" id=\"id6\">``</span></a>domain_whitelist``속성이 제거됩니다.</p></li>\n<li><p><code class=\"docutils literal notranslate\">default_app_config</code> 모듈 변수가 제거됩니다.</p></li>\n<li><p><a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>TransactionTestCase.assertQuerysetEqual()``은 문자열 값과 비교할 때 더 이상 쿼리 세트에서 <a href=\"#id3\"><span class=\"problematic\" id=\"id4\">``</span></a>repr()``을 자동으로 호출하지 않습니다.</p></li>\n<li><p><a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>django.core.cache.backends.memcached.MemcachedCache``가 제거됩니다.</p></li>\n<li><p><a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>django.conrib.messages.storage.cookie.CookieStorage``에서 사용하는 Django 3.2 이전 형식의 메시지에 대한 지원이 제거됩니다.</p></li>\n</ul>\n</section>\n<section id=\"deprecation-removed-in-4-0\">\n<span id=\"id6\"></span><h2>4.0<a class=\"heading-anchor\" href=\"#deprecation-removed-in-4-0\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<p>이러한 변경 사항에 대한 자세한 내용은 :ref:<a href=\"#id1\"><span class=\"problematic\" id=\"id2\">`</span></a>Django 3.0 릴리스 노트 &lt;deprecated-features-3.0&gt;`을 참조하세요</p>\n<ul class=\"simple\">\n<li><p><code class=\"docutils literal notranslate\">django.utils.http.urlquote()</code>, <code class=\"docutils literal notranslate\">urlquote_plus()</code>, <code class=\"docutils literal notranslate\">urlunquote()</code> 및 <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>urlunquote_plus()``가 제거됩니다.</p></li>\n<li><p><code class=\"docutils literal notranslate\">django.utils.encoding.force_text()</code> 및 <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>smart_text()``가 제거됩니다.</p></li>\n<li><p><code class=\"docutils literal notranslate\">django.utils.translation.ugettext()</code>, <code class=\"docutils literal notranslate\">ugettext_lazy()</code>, <code class=\"docutils literal notranslate\">ugettext_noop()</code>, <code class=\"docutils literal notranslate\">ungettext()</code> 및 <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>ungettext_lazy()``가 제거됩니다.</p></li>\n<li><p><code class=\"docutils literal notranslate\">django.views.i18n.set_language()``는 더 이상 ``request.session``(키 ``django.utils.translation.LANGUAGE_SESSION_KEY</code>)에서 사용자 언어를 설정하지 않습니다.</p></li>\n<li><p><code class=\"docutils literal notranslate\">alias=None``은 ``django.db.models.Expression.get_group_by_cols()</code> 하위 클래스의 서명에 필요합니다.</p></li>\n<li><p><a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>django.utils.text.unescape_entities()``가 제거됩니다.</p></li>\n<li><p><a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>django.utils.http.is_safe_url()``가 제거됩니다.</p></li>\n</ul>\n<p>이러한 변경 사항에 대한 자세한 내용은 :ref:<a href=\"#id1\"><span class=\"problematic\" id=\"id2\">`</span></a>Django 3.1 릴리스 노트 &lt;deprecated-features-3.1&gt;`를 참조하십시오.</p>\n<ul class=\"simple\">\n<li><p><code class=\"docutils literal notranslate\">PASSWORD_RESET_TIMEOUT_DAYS</code> 설정이 제거됩니다.</p></li>\n<li><p>부울이 아닌 값을 우변으로 사용하는 <a class=\"reference internal\" href=\"/ko/5.2/ref/models/querysets/#std-fieldlookup-isnull\"><code class=\"xref std std-lookup docutils literal notranslate\">isnull</code></a> 조회의 문서화되지 않은 사용은 더 이상 허용되지 않습니다.</p></li>\n<li><p><code class=\"docutils literal notranslate\">django.db.models.query_utils.InvalidQuery</code> 예외 클래스가 제거됩니다.</p></li>\n<li><p><code class=\"docutils literal notranslate\">django-admin.py</code> 진입점이 제거됩니다.</p></li>\n<li><p><code class=\"docutils literal notranslate\">HttpRequest.is_ajax()</code> 메서드가 제거됩니다.</p></li>\n<li><p><a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>django.contrib.messages.storage.cookie.CookieStorage``에서 사용하는 쿠키 값의 Django 3.1 이전 인코딩 형식에 대한 지원이 제거됩니다.</p></li>\n<li><p>관리 사이트(SHA-1 해싱 알고리즘 사용)에서 Django 3.1 이전 암호 재설정 토큰에 대한 지원이 제거됩니다.</p></li>\n<li><p>세션의 Django 3.1 이전 인코딩 형식에 대한 지원이 제거됩니다.</p></li>\n<li><p>Django 3.1 이전 <code class=\"docutils literal notranslate\">django.core.signing.Signer</code> 서명(SHA-1 알고리즘으로 인코딩됨)에 대한 지원이 제거됩니다.</p></li>\n<li><p><code class=\"docutils literal notranslate\">django.core.signing.loads()``에서 Django 3.1 이전 ``django.core.signing.dumps()</code> 서명(SHA-1 알고리즘으로 인코딩됨)에 대한 지원이 제거됩니다.</p></li>\n<li><p>Django 3.1 이전 사용자 세션(SHA-1 알고리즘 사용)에 대한 지원이 제거됩니다.</p></li>\n<li><p><code class=\"docutils literal notranslate\">django.utils.deprecation.MiddlewareMixin.__init__()``에 대한 ``get_response</code> 인수가 필요하며 <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>None``을 허용하지 않습니다.</p></li>\n<li><p><code class=\"docutils literal notranslate\">django.dispatch.Signal``에 대한 ``providing_args</code> 인수가 제거됩니다.</p></li>\n<li><p><code class=\"docutils literal notranslate\">django.utils.crypto.get_random_string()``에 대한 ``length</code> 인수가 필요합니다.</p></li>\n<li><p><code class=\"docutils literal notranslate\">ModelMultipleChoiceField``에 대한 ``list</code> 메시지가 제거됩니다.</p></li>\n<li><p>원시 열 별칭을 <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>QuerySet.order_by()``에 전달하는 지원이 제거됩니다.</p></li>\n<li><p><code class=\"docutils literal notranslate\">NullBooleanField</code> 모델이 제거됩니다. 이전 마이그레이션과의 호환성을 위해 스텁 필드가 유지됩니다.</p></li>\n<li><p><a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>django.conf.urls.url()``이 제거됩니다.</p></li>\n<li><p><code class=\"docutils literal notranslate\">django.contrib.postgres.fields.JSONField</code> 모델이 제거됩니다. 이전 마이그레이션과의 호환성을 위해 스텁 필드가 유지됩니다.</p></li>\n<li><p><code class=\"docutils literal notranslate\">django.contrib.postgres.forms.JSONField</code>, <code class=\"docutils literal notranslate\">django.contrib.postgres.fields.jsonb.KeyTransform</code> 및 <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>django.contrib.postgres.fields.jsonb.KeyTextTransform``이 제거됩니다.</p></li>\n<li><p><code class=\"docutils literal notranslate\">{% ifequal %}</code> 및 <code class=\"docutils literal notranslate\">{% ifnotequal %}</code> 템플릿 태그가 제거됩니다.</p></li>\n<li><p><code class=\"docutils literal notranslate\">DEFAULT_HASHING_ALGORITHM</code> 전환 설정이 제거됩니다.</p></li>\n</ul>\n</section>\n<section id=\"deprecation-removed-in-3-1\">\n<span id=\"id7\"></span><h2>3.1<a class=\"heading-anchor\" href=\"#deprecation-removed-in-3-1\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<p>이러한 변경 사항에 대한 자세한 내용은 :ref:<a href=\"#id1\"><span class=\"problematic\" id=\"id2\">`</span></a>Django 2.2 릴리스 노트 &lt;deprecated-features-2.2&gt;`를 참조하세요.</p>\n<ul class=\"simple\">\n<li><p><a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>django.utils.timezone.FixedOffset``이 제거됩니다.</p></li>\n<li><p><a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>django.core.paginator.QuerySetPaginator``가 제거됩니다.</p></li>\n<li><p>모델의 <code class=\"docutils literal notranslate\">Meta.ordering``은 더 이상 ``GROUP BY</code> 쿼리에 영향을 미치지 않습니다.</p></li>\n<li><p><code class=\"docutils literal notranslate\">django.contrib.postgres.fields.FloatRangeField</code> 및 <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>django.contrib.postgres.forms.FloatRangeField``가 제거됩니다.</p></li>\n<li><p><code class=\"docutils literal notranslate\">FILE_CHARSET</code> 설정이 제거됩니다.</p></li>\n<li><p><a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>django.contrib.staticfiles.storage.CachedStaticFilesStorage``가 제거됩니다.</p></li>\n<li><p><a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>RemoteUserBackend.configure_user()``는 첫 번째 인수로 <a href=\"#id3\"><span class=\"problematic\" id=\"id4\">``</span></a>request``를 요구합니다.</p></li>\n<li><p><code class=\"docutils literal notranslate\">SimpleTestCase.allow_database_queries</code> 및 <code class=\"docutils literal notranslate\">TransactionTestCase.multi_db</code> 지원이 제거됩니다.</p></li>\n</ul>\n</section>\n<section id=\"deprecation-removed-in-3-0\">\n<span id=\"id8\"></span><h2>3.0<a class=\"heading-anchor\" href=\"#deprecation-removed-in-3-0\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<p>이러한 변경 사항에 대한 자세한 내용은 :ref:<a href=\"#id1\"><span class=\"problematic\" id=\"id2\">`</span></a>Django 2.0 릴리스 노트&lt;deprecated-features-2.0&gt;`를 참조하십시오.</p>\n<ul class=\"simple\">\n<li><p><code class=\"docutils literal notranslate\">django.db.backends.postgresql_psycopg2</code> 모듈이 제거됩니다.</p></li>\n<li><p><a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>django.shortcuts.render_to_response()``가 제거됩니다.</p></li>\n<li><p><code class=\"docutils literal notranslate\">DEFAULT_CONTENT_TYPE</code> 설정이 제거됩니다.</p></li>\n<li><p><a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>HttpRequest.xreadlines()``가 제거됩니다.</p></li>\n<li><p><code class=\"docutils literal notranslate\">Field.from_db_value()</code> 및 <code class=\"docutils literal notranslate\">Expression.convert_value()``의 ``context</code> 인수에 대한 지원이 제거됩니다.</p></li>\n<li><p><code class=\"docutils literal notranslate\">QuerySet.earliest()</code> 및 <code class=\"docutils literal notranslate\">latest()``의 ``field_name</code> 키워드 인수가 제거됩니다.</p></li>\n</ul>\n<p>이러한 변경 사항에 대한 자세한 내용은 :ref:<a href=\"#id1\"><span class=\"problematic\" id=\"id2\">`</span></a>Django 2.1 릴리스 노트 &lt;deprecated-features-2.1&gt;`를 참조하십시오.</p>\n<ul class=\"simple\">\n<li><p><a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>django.contrib.gis.db.models.functions.ForceRHR``이 제거됩니다.</p></li>\n<li><p><a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>django.utils.http.cookie_date()``가 제거됩니다.</p></li>\n<li><p><code class=\"docutils literal notranslate\">staticfiles</code> 및 <code class=\"docutils literal notranslate\">admin_static</code> 템플릿 태그 라이브러리가 제거됩니다.</p></li>\n<li><p><a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>django.contrib.staticfiles.templatetags.static()``이 제거됩니다.</p></li>\n<li><p><code class=\"docutils literal notranslate\">InlineModelAdmin.has_add_permission()``을 ``obj</code> 인수 없이 정의할 수 있도록 하는 심이 제거됩니다.</p></li>\n</ul>\n</section>\n<section id=\"deprecation-removed-in-2-1\">\n<span id=\"id9\"></span><h2>2.1<a class=\"heading-anchor\" href=\"#deprecation-removed-in-2-1\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<p>이러한 변경 사항에 대한 자세한 내용은 :ref:<a href=\"#id1\"><span class=\"problematic\" id=\"id2\">`</span></a>Django 1.11 릴리스 노트&lt;deprecated-features-1.11&gt;`를 참조하십시오.</p>\n<ul class=\"simple\">\n<li><p><code class=\"docutils literal notranslate\">contrib.auth.views.login()</code>, <code class=\"docutils literal notranslate\">logout()</code>, <code class=\"docutils literal notranslate\">password_change()</code>, <code class=\"docutils literal notranslate\">password_change_done()</code>, <code class=\"docutils literal notranslate\">password_reset()</code>, <code class=\"docutils literal notranslate\">password_reset_done( )</code>, <code class=\"docutils literal notranslate\">password_reset_confirm()</code> 및 <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>password_reset_complete()``가 제거됩니다.</p></li>\n<li><p><code class=\"docutils literal notranslate\">contrib.auth.views.logout_then_login()``의 ``extra_context</code> 매개변수가 제거됩니다.</p></li>\n<li><p><a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>django.test.runner.setup_databases()``가 제거됩니다.</p></li>\n<li><p><a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>django.utils.translation.string_concat()``이 제거됩니다.</p></li>\n<li><p><code class=\"docutils literal notranslate\">django.core.cache.backends.memcached.PyLibMCCache``는 더 이상 ``pylibmc</code> 동작 설정을 <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>OPTIONS``의 최상위 속성으로 전달하는 것을 지원하지 않습니다.</p></li>\n<li><p><code class=\"docutils literal notranslate\">django.utils.http.is_safe_url()``의 ``host</code> 매개변수가 제거됩니다.</p></li>\n<li><p><code class=\"docutils literal notranslate\">{% include %}</code> 템플렛 태그를 렌더링하는 동안 발생한 예외 무시가 제거됩니다.</p></li>\n<li><p><a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>DatabaseIntrospection.get_indexes()``가 제거됩니다.</p></li>\n<li><p>인증 백엔드의 <code class=\"docutils literal notranslate\">authenticate()</code> 메서드는 첫 번째 인수로 <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>request``를 요구합니다.</p></li>\n<li><p><code class=\"docutils literal notranslate\">django.db.models.permalink()</code> 데코레이터가 제거됩니다.</p></li>\n<li><p><code class=\"docutils literal notranslate\">USE_ETAGS</code> 설정이 제거됩니다. <code class=\"docutils literal notranslate\">CommonMiddleware</code> 및 <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>django.utils.cache.patch_response_headers()``는 더 이상 ETag를 설정하지 않습니다.</p></li>\n<li><p><code class=\"docutils literal notranslate\">Model._meta.has_auto_field</code> 속성이 제거됩니다.</p></li>\n<li><p>정규표현식 그룹(<code class=\"docutils literal notranslate\">(?i)</code>, <code class=\"docutils literal notranslate\">(?L)</code>, <code class=\"docutils literal notranslate\">(?m)</code>, <code class=\"docutils literal notranslate\">(?s)</code>, and <code class=\"docutils literal notranslate\">(?u)</code>) 의 인라인 플래그에 대한 <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>url()``의 지원이 제거됩니다.</p></li>\n<li><p><code class=\"docutils literal notranslate\">renderer</code> 인수가 없는 <code class=\"docutils literal notranslate\">Widget.render()</code> 메서드에 대한 지원이 제거됩니다.</p></li>\n</ul>\n</section>\n<section id=\"deprecation-removed-in-2-0\">\n<span id=\"id10\"></span><h2>2.0<a class=\"heading-anchor\" href=\"#deprecation-removed-in-2-0\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<p>이러한 변경 사항에 대한 자세한 내용은 :ref:<a href=\"#id1\"><span class=\"problematic\" id=\"id2\">`</span></a>Django 1.9 릴리스 노트&lt;deprecated-features-1.9&gt;`를 참조하세요.</p>\n<ul class=\"simple\">\n<li><p><code class=\"docutils literal notranslate\">django.dispatch.signals.Signal.disconnect()``에 대한 ``weak</code> 인수가 제거됩니다.</p></li>\n<li><p><a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>django.db.backends.base.BaseDatabaseOperations.check_aggregate_support()``가 제거됩니다.</p></li>\n<li><p><code class=\"docutils literal notranslate\">django.forms.extras</code> 패키지가 제거됩니다.</p></li>\n<li><p><code class=\"docutils literal notranslate\">assignment_tag</code> 도우미가 제거됩니다.</p></li>\n<li><p><code class=\"docutils literal notranslate\">assertsRedirects``에 대한 ``host</code> 인수가 제거됩니다. 경로가 동일한 경우 절대 URL을 상대 URL과 동일하게 간주할 수 있는 호환성 계층도 제거됩니다.</p></li>\n<li><p><a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>Field.rel``이 제거됩니다.</p></li>\n<li><p><code class=\"docutils literal notranslate\">Field.remote_field.to</code> 속성이 제거됩니다.</p></li>\n<li><p><code class=\"docutils literal notranslate\">ForeignKey</code> 및 <code class=\"docutils literal notranslate\">OneToOneField``에 대한 ``on_delete</code> 인수가 필요합니다.</p></li>\n<li><p><a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>django.db.models.fields.add_lazy_relation()``이 제거됩니다.</p></li>\n<li><p>시간대 지원이 활성화되면 시간대를 지원하지 않는 데이터베이스 백엔드는 이러한 값이 ORM 외부에서 실행되는 SQL 쿼리(<a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>cursor.execute()``를 사용하는)에 매개변수로 전달될 때 더 이상 인식 날짜 시간을 UTC의 순진한 값으로 변환하지 않습니다.</p></li>\n<li><p><code class=\"docutils literal notranslate\">django.contrib.auth.tests.utils.skipIfCustomUser()</code> 데코레이터가 제거됩니다.</p></li>\n<li><p><code class=\"docutils literal notranslate\">GeoManager</code> 및 <code class=\"docutils literal notranslate\">GeoQuerySet</code> 클래스가 제거됩니다.</p></li>\n<li><p><code class=\"docutils literal notranslate\">django.contrib.gis.geoip</code> 모듈이 제거됩니다.</p></li>\n<li><p>템플릿 로더에 대한 <code class=\"docutils literal notranslate\">supports_recursion</code> 검사가 다음에서 제거됩니다.</p>\n<ul>\n<li><p><code class=\"docutils literal notranslate\">django.template.engine.Engine.find_template()</code></p></li>\n<li><p><code class=\"docutils literal notranslate\">django.template.loader_tags.ExtendsNode.find_template()</code></p></li>\n<li><p><code class=\"docutils literal notranslate\">django.template.loaders.base.Loader.supports_recursion()</code></p></li>\n<li><p><code class=\"docutils literal notranslate\">django.template.loaders.cached.Loader.supports_recursion()</code></p></li>\n</ul>\n</li>\n<li><p><code class=\"docutils literal notranslate\">load_template()</code> 및 <code class=\"docutils literal notranslate\">load_template_sources()</code> 템플릿 로더 메서드는 제거됩니다.</p></li>\n<li><p>템플릿 로더에 대한 <code class=\"docutils literal notranslate\">template_dirs</code> 인수가 제거됩니다:</p>\n<ul>\n<li><p><code class=\"docutils literal notranslate\">django.template.loaders.base.Loader.get_template()</code></p></li>\n<li><p><code class=\"docutils literal notranslate\">django.template.loaders.cached.Loader.cache_key()</code></p></li>\n<li><p><code class=\"docutils literal notranslate\">django.template.loaders.cached.Loader.get_template()</code></p></li>\n<li><p><code class=\"docutils literal notranslate\">django.template.loaders.cached.Loader.get_template_sources()</code></p></li>\n<li><p><code class=\"docutils literal notranslate\">django.template.loaders.filesystem.Loader.get_template_sources()</code></p></li>\n</ul>\n</li>\n<li><p><code class=\"docutils literal notranslate\">django.template.loaders.base.Loader.__call__()</code> 메서드가 제거됩니다.</p></li>\n<li><p>단일 위치 매개변수가 있는 사용자 지정 오류 보기에 대한 지원이 중단됩니다.</p></li>\n<li><p><code class=\"docutils literal notranslate\">django.utils.feedgenerator.Atom1Feed</code> 및 <code class=\"docutils literal notranslate\">django.utils.feedgenerator.RssFeed``의 ``mime_type</code> 속성은 <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>content_type``을 위해 제거됩니다.</p></li>\n<li><p><code class=\"docutils literal notranslate\">django.conf.urls.include()``에 대한 ``app_name</code> 인수가 제거됩니다.</p></li>\n<li><p><a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>include()``에 대한 첫 번째 인수로 3-튜플을 전달하는 지원이 제거됩니다.</p></li>\n<li><p>애플리케이션 네임스페이스 없이 URL 인스턴스 네임스페이스를 설정하는 지원이 제거됩니다.</p></li>\n<li><p><a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>Field._get_val_from_obj()``는 <a href=\"#id3\"><span class=\"problematic\" id=\"id4\">``</span></a>Field.value_from_object()``를 위해 제거됩니다.</p></li>\n<li><p><a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>django.template.loaders.eggs.Loader``가 제거됩니다.</p></li>\n<li><p><code class=\"docutils literal notranslate\">contrib.auth</code> 보기에 대한 <code class=\"docutils literal notranslate\">current_app</code> 매개변수가 제거됩니다.</p></li>\n<li><p><code class=\"docutils literal notranslate\">SimpleTestCase.assertRaisesMessage()``에 대한 ``callable_obj</code> 키워드 인수가 제거됩니다.</p></li>\n<li><p><code class=\"docutils literal notranslate\">ModelAdmin</code> 메서드의 <code class=\"docutils literal notranslate\">allow_tags</code> 속성에 대한 지원이 제거됩니다.</p></li>\n<li><p><code class=\"docutils literal notranslate\">SyndicationFeed.add_item()``에 대한 ``enclosure</code> 키워드 인수가 제거됩니다.</p></li>\n<li><p><code class=\"docutils literal notranslate\">django.template.base.Origin``의 ``django.template.loader.LoaderOrigin</code> 및 <code class=\"docutils literal notranslate\">django.template.base.StringOrigin</code> 별칭이 제거됩니다.</p></li>\n</ul>\n<p>이러한 변경 사항에 대한 자세한 내용은 :ref:<a href=\"#id1\"><span class=\"problematic\" id=\"id2\">`</span></a>Django 1.10 릴리스 노트 &lt;deprecated-features-1.10&gt;`를 참조하세요.</p>\n<ul class=\"simple\">\n<li><p><code class=\"docutils literal notranslate\">makemigrations --exit</code> 옵션이 제거됩니다.</p></li>\n<li><p>역방향 외래 키 또는 다대다 관계에 대한 직접 할당 지원이 제거됩니다.</p></li>\n<li><p><code class=\"docutils literal notranslate\">django.contrib.gis.geos.GEOSGeometry``의 ``get_srid()</code> 및 <code class=\"docutils literal notranslate\">set_srid()</code> 메소드가 제거됩니다.</p></li>\n<li><p><code class=\"docutils literal notranslate\">django.contrib.gis.geos.Point``의 ``get_x()</code>, <code class=\"docutils literal notranslate\">set_x()</code>, <code class=\"docutils literal notranslate\">get_y()</code>, <code class=\"docutils literal notranslate\">set_y()</code>, <code class=\"docutils literal notranslate\">get_z()</code> 및 <code class=\"docutils literal notranslate\">set_z()</code> 메서드가 제거됩니다.</p></li>\n<li><p><code class=\"docutils literal notranslate\">django.contrib.gis.geos.Point``의 ``get_coords()</code> 및 <code class=\"docutils literal notranslate\">set_coords()</code> 메서드가 제거됩니다.</p></li>\n<li><p><code class=\"docutils literal notranslate\">django.contrib.gis.geos.MultiPolygon``의 ``cascaded_union</code> 속성이 제거됩니다.</p></li>\n<li><p><a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>django.utils.functional.allow_lazy()``가 제거됩니다.</p></li>\n<li><p><code class=\"docutils literal notranslate\">shell --plain</code> 옵션이 제거됩니다.</p></li>\n<li><p><code class=\"docutils literal notranslate\">django.core.urlresolvers</code> 모듈이 제거됩니다.</p></li>\n<li><p><code class=\"docutils literal notranslate\">CommaSeparatedIntegerField</code> 모델이 제거됩니다. 이전 마이그레이션과의 호환성을 위해 스텁 필드가 유지됩니다.</p></li>\n<li><p>템플릿 <code class=\"docutils literal notranslate\">Context.has_key()</code> 메서드에 대한 지원이 제거됩니다.</p></li>\n<li><p><code class=\"docutils literal notranslate\">django.core.files.storage.Storage.accessed_time()</code>, <code class=\"docutils literal notranslate\">created_time()</code> 및 <code class=\"docutils literal notranslate\">modified_time()</code> 메서드에 대한 지원이 제거됩니다.</p></li>\n<li><p><a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>Meta.default_related_name``이 설정된 경우 모델 이름을 사용한 쿼리 조회 지원이 제거됩니다.</p></li>\n<li><p><code class=\"docutils literal notranslate\">__search</code> 쿼리 조회 및 <code class=\"docutils literal notranslate\">DatabaseOperations.fulltext_search_sql()</code> 메서드가 제거됩니다.</p></li>\n<li><p><code class=\"docutils literal notranslate\">_apply_rel_filters()</code> 메서드 없이 사용자 지정 관련 관리자 클래스를 지원하기 위한 shim이 제거됩니다.</p></li>\n<li><p><code class=\"docutils literal notranslate\">User.is_authenticated()</code> 및 <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>User.is_anonymous()``를 메소드로 사용하는 것은 더 이상 지원되지 않습니다.</p></li>\n<li><p><a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>Model._meta``의 비공개 속성 <a href=\"#id3\"><span class=\"problematic\" id=\"id4\">``</span></a>virtual_fields``가 제거됩니다.</p></li>\n<li><p><code class=\"docutils literal notranslate\">Field.contribute_to_class()``의 ``virtual_only</code> 및 <code class=\"docutils literal notranslate\">Model._meta.add_field()``의 ``virtual</code> 비공개 키워드 인수가 제거됩니다.</p></li>\n<li><p><code class=\"docutils literal notranslate\">javascript_catalog()</code> 및 <code class=\"docutils literal notranslate\">json_catalog()</code> 보기가 제거됩니다.</p></li>\n<li><p><code class=\"docutils literal notranslate\">django.contrib.gis.utils.precision_wkt()</code> 함수가 제거됩니다.</p></li>\n<li><p>다중 테이블 상속에서 <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>OneToOneField``에서 <a href=\"#id3\"><span class=\"problematic\" id=\"id4\">``</span></a>parent_link``로의 암시적 확장이 제거됩니다.</p></li>\n<li><p><a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>Widget._format_value()``에 대한 지원이 제거됩니다.</p></li>\n<li><p><code class=\"docutils literal notranslate\">FileField</code> 메서드 <code class=\"docutils literal notranslate\">get_directory_name()</code> 및 <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>get_filename()``이 제거됩니다.</p></li>\n<li><p><code class=\"docutils literal notranslate\">mark_for_escaping()</code> 함수와 <code class=\"docutils literal notranslate\">EscapeData</code>, <code class=\"docutils literal notranslate\">EscapeBytes</code>, <code class=\"docutils literal notranslate\">EscapeText</code>, <code class=\"docutils literal notranslate\">EscapeString</code> 및 <code class=\"docutils literal notranslate\">EscapeUnicode</code> 클래스가 제거됩니다.</p></li>\n<li><p><code class=\"docutils literal notranslate\">escape</code> 필터는 <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>django.utils.html.conditional_escape()``를 사용하도록 변경됩니다.</p></li>\n<li><p><a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>Manager.use_for_related_fields``가 제거됩니다.</p></li>\n<li><p>모델 <code class=\"docutils literal notranslate\">Manager</code> 상속은 MRO 상속 규칙을 따르며 이 동작을 선택하는 <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>Meta.manager_inheritance_from_future``는 제거됩니다.</p></li>\n<li><p><a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>settings.MIDDLEWARE_CLASSES``를 사용하는 구식 미들웨어에 대한 지원이 제거됩니다.</p></li>\n</ul>\n</section>\n<section id=\"deprecation-removed-in-1-10\">\n<span id=\"id11\"></span><h2>1.10<a class=\"heading-anchor\" href=\"#deprecation-removed-in-1-10\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<p>이러한 변경 사항에 대한 자세한 내용은 :ref:<a href=\"#id1\"><span class=\"problematic\" id=\"id2\">`</span></a>Django 1.8 릴리스 노트&lt;deprecated-features-1.8&gt;`를 참조하십시오.</p>\n<ul class=\"simple\">\n<li><p><code class=\"docutils literal notranslate\">quote_name_unless_alias</code> 메서드를 호출하기 위한 별칭으로 <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>SQLCompiler``를 직접 호출하는 지원이 제거됩니다.</p></li>\n<li><p><code class=\"docutils literal notranslate\">cycle</code> 및 <code class=\"docutils literal notranslate\">firstof</code> 템플릿 태그는 <code class=\"docutils literal notranslate\">future</code> 템플릿 태그 라이브러리에서 제거됩니다(1.6/1.7 지원 중단 기간 동안 사용됨).</p></li>\n<li><p><a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>django.conf.urls.patterns()``가 제거됩니다.</p></li>\n<li><p><code class=\"docutils literal notranslate\">django.conf.urls.i18n.i18n_patterns()``에 대한 ``prefix</code> 인수 지원이 제거됩니다.</p></li>\n<li><p><a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>SimpleTestCase.urls``가 제거됩니다.</p></li>\n<li><p><code class=\"docutils literal notranslate\">for</code> 템플릿 태그에서 압축 해제된 값의 잘못된 개수를 사용하면 조용히 실패하지 않고 예외가 발생합니다.</p></li>\n<li><p>점으로 구분된 Python 경로를 사용하여 URL을 뒤집는 기능이 제거됩니다.</p></li>\n<li><p><code class=\"docutils literal notranslate\">LOGIN_URL</code> 및 <code class=\"docutils literal notranslate\">LOGIN_REDIRECT_URL</code> 설정에 점으로 구분된 Python 경로를 사용하는 기능이 제거됩니다.</p></li>\n<li><p>사용자 지정 관리 명령에 대한 <a class=\"reference external\" href=\"https://docs.python.org/3/library/optparse.html#module-optparse\" title=\"(Python v3.14에서)\"><code class=\"xref py py-mod docutils literal notranslate\">optparse</code></a> 지원이 중단됩니다( :py:mod:<a href=\"#id1\"><span class=\"problematic\" id=\"id2\">`</span></a>argparse`로 대체됩니다).</p></li>\n<li><p><code class=\"docutils literal notranslate\">django.core.management.NoArgsCommand</code> 클래스가 제거됩니다. 기본적으로 인수를 사용하지 않는 클래스:<a href=\"#id1\"><span class=\"problematic\" id=\"id2\">`</span></a>~django.core.management.BaseCommand`를 대신 사용하십시오.</p></li>\n<li><p><code class=\"docutils literal notranslate\">django.core.context_processors</code> 모듈이 제거됩니다.</p></li>\n<li><p><code class=\"docutils literal notranslate\">django.db.models.sql.aggregates</code> 모듈이 제거됩니다.</p></li>\n<li><p><code class=\"docutils literal notranslate\">django.contrib.gis.db.models.sql.aggregates</code> 모듈이 제거됩니다.</p></li>\n<li><p><a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>django.db.sql.query.Query``의 다음 메서드 및 속성이 제거됩니다.</p>\n<ul>\n<li><p>속성: <code class=\"docutils literal notranslate\">aggregates</code> 및 <code class=\"docutils literal notranslate\">aggregate_select</code></p></li>\n<li><p>메소드: <code class=\"docutils literal notranslate\">add_aggregate</code>, <code class=\"docutils literal notranslate\">set_aggregate_mask</code> 및 <code class=\"docutils literal notranslate\">append_aggregate_mask</code></p></li>\n</ul>\n</li>\n<li><p><a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>django.template.resolve_variable``이 제거됩니다.</p></li>\n<li><p>다음 비공개 API는 <code class=\"xref py py-class docutils literal notranslate\">django.db.models.options.Options`(``Model._meta`</code>)에서 제거됩니다.</p>\n<ul>\n<li><p><code class=\"docutils literal notranslate\">get_field_by_name()</code></p></li>\n<li><p><code class=\"docutils literal notranslate\">get_all_field_names()</code></p></li>\n<li><p><code class=\"docutils literal notranslate\">get_fields_with_model()</code></p></li>\n<li><p><code class=\"docutils literal notranslate\">get_concrete_fields_with_model()</code></p></li>\n<li><p><code class=\"docutils literal notranslate\">get_m2m_with_model()</code></p></li>\n<li><p><code class=\"docutils literal notranslate\">get_all_related_objects()</code></p></li>\n<li><p><code class=\"docutils literal notranslate\">get_all_related_objects_with_model()</code></p></li>\n<li><p><code class=\"docutils literal notranslate\">get_all_related_many_to_many_objects()</code></p></li>\n<li><p><code class=\"docutils literal notranslate\">get_all_related_m2m_objects_with_model()</code></p></li>\n</ul>\n</li>\n<li><p><code class=\"docutils literal notranslate\">django.forms.RegexField``의 ``error_message</code> 인수가 제거됩니다.</p></li>\n<li><p>The <code class=\"docutils literal notranslate\">unordered_list</code> filter will no longer support old style lists.</p></li>\n<li><p><code class=\"docutils literal notranslate\">url()``에 대한 문자열 ``view</code> 인수에 대한 지원이 제거됩니다.</p></li>\n<li><p><a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>django.forms.Form._has_changed()``를 <a href=\"#id3\"><span class=\"problematic\" id=\"id4\">``</span></a>has_changed()``로 이름을 바꾸는 이전 버전과 호환되는 심이 제거됩니다.</p></li>\n<li><p><code class=\"docutils literal notranslate\">removetags</code> 템플릿 필터가 제거됩니다.</p></li>\n<li><p><code class=\"docutils literal notranslate\">django.utils.html``의 ``remove_tags()</code> 및 <code class=\"docutils literal notranslate\">strip_entities()</code> 함수가 제거됩니다.</p></li>\n<li><p><code class=\"docutils literal notranslate\">django.contrib.auth.views.password_reset()``에 대한 ``is_admin_site</code> 인수가 제거됩니다.</p></li>\n<li><p><code class=\"docutils literal notranslate\">django.db.models.field.subclassing.SubfieldBase</code> will be removed.</p></li>\n<li><p><code class=\"docutils literal notranslate\">django.utils.checksums</code> will be removed; its functionality is included\nin <code class=\"docutils literal notranslate\">django-localflavor</code> 1.1+.</p></li>\n<li><p>The <code class=\"docutils literal notranslate\">original_content_type_id</code> attribute on\n<code class=\"docutils literal notranslate\">django.contrib.admin.helpers.InlineAdminForm</code> will be removed.</p></li>\n<li><p>The backwards compatibility shim to allow <code class=\"docutils literal notranslate\">FormMixin.get_form()</code> to be\ndefined with no default value for its <code class=\"docutils literal notranslate\">form_class</code> argument will be removed.</p></li>\n<li><p>The following settings will be removed:</p>\n<ul>\n<li><p><code class=\"docutils literal notranslate\">ALLOWED_INCLUDE_ROOTS</code></p></li>\n<li><p><code class=\"docutils literal notranslate\">TEMPLATE_CONTEXT_PROCESSORS</code></p></li>\n<li><p><code class=\"docutils literal notranslate\">TEMPLATE_DEBUG</code></p></li>\n<li><p><code class=\"docutils literal notranslate\">TEMPLATE_DIRS</code></p></li>\n<li><p><code class=\"docutils literal notranslate\">TEMPLATE_LOADERS</code></p></li>\n<li><p><code class=\"docutils literal notranslate\">TEMPLATE_STRING_IF_INVALID</code></p></li>\n</ul>\n</li>\n<li><p>The backwards compatibility alias <code class=\"docutils literal notranslate\">django.template.loader.BaseLoader</code> will\nbe removed.</p></li>\n<li><p>Django template objects returned by\n<a class=\"reference internal\" href=\"/ko/5.2/topics/templates/#django.template.loader.get_template\" title=\"django.template.loader.get_template\"><code class=\"xref py py-func docutils literal notranslate\">get_template()</code></a> and\n<a class=\"reference internal\" href=\"/ko/5.2/topics/templates/#django.template.loader.select_template\" title=\"django.template.loader.select_template\"><code class=\"xref py py-func docutils literal notranslate\">select_template()</code></a> won’t accept a\n<a class=\"reference internal\" href=\"/ko/5.2/ref/templates/api/#django.template.Context\" title=\"django.template.Context\"><code class=\"xref py py-class docutils literal notranslate\">Context</code></a> in their\n<a class=\"reference internal\" href=\"/ko/5.2/topics/templates/#django.template.backends.base.Template.render\" title=\"django.template.backends.base.Template.render\"><code class=\"xref py py-meth docutils literal notranslate\">render()</code></a> method anymore.</p></li>\n<li><p><a class=\"reference internal\" href=\"/ko/5.2/ref/template-response/\"><span class=\"doc\">Template response APIs</span></a> will enforce the use\nof <a class=\"reference external\" href=\"https://docs.python.org/3/library/stdtypes.html#dict\" title=\"(Python v3.14에서)\"><code class=\"xref py py-class docutils literal notranslate\">dict</code></a> and backend-dependent template objects instead of\n<a class=\"reference internal\" href=\"/ko/5.2/ref/templates/api/#django.template.Context\" title=\"django.template.Context\"><code class=\"xref py py-class docutils literal notranslate\">Context</code></a> and <a class=\"reference internal\" href=\"/ko/5.2/ref/templates/api/#django.template.Template\" title=\"django.template.Template\"><code class=\"xref py py-class docutils literal notranslate\">Template</code></a>\nrespectively.</p></li>\n<li><p>The <code class=\"docutils literal notranslate\">current_app</code> parameter for the following function and classes will be\nremoved:</p>\n<ul>\n<li><p><code class=\"docutils literal notranslate\">django.shortcuts.render()</code></p></li>\n<li><p><code class=\"docutils literal notranslate\">django.template.Context()</code></p></li>\n<li><p><code class=\"docutils literal notranslate\">django.template.RequestContext()</code></p></li>\n<li><p><code class=\"docutils literal notranslate\">django.template.response.TemplateResponse()</code></p></li>\n</ul>\n</li>\n<li><p>The <code class=\"docutils literal notranslate\">dictionary</code> and <code class=\"docutils literal notranslate\">context_instance</code> parameters for the following\nfunctions will be removed:</p>\n<ul>\n<li><p><code class=\"docutils literal notranslate\">django.shortcuts.render()</code></p></li>\n<li><p><code class=\"docutils literal notranslate\">django.shortcuts.render_to_response()</code></p></li>\n<li><p><code class=\"docutils literal notranslate\">django.template.loader.render_to_string()</code></p></li>\n</ul>\n</li>\n<li><p>The <code class=\"docutils literal notranslate\">dirs</code> parameter for the following functions will be removed:</p>\n<ul>\n<li><p><code class=\"docutils literal notranslate\">django.template.loader.get_template()</code></p></li>\n<li><p><code class=\"docutils literal notranslate\">django.template.loader.select_template()</code></p></li>\n<li><p><code class=\"docutils literal notranslate\">django.shortcuts.render()</code></p></li>\n<li><p><code class=\"docutils literal notranslate\">django.shortcuts.render_to_response()</code></p></li>\n</ul>\n</li>\n<li><p>Session verification will be enabled regardless of whether or not\n<code class=\"docutils literal notranslate\">'django.contrib.auth.middleware.SessionAuthenticationMiddleware'</code> is in\n<code class=\"docutils literal notranslate\">MIDDLEWARE_CLASSES</code>.</p></li>\n<li><p>Private attribute <code class=\"docutils literal notranslate\">django.db.models.Field.related</code> will be removed.</p></li>\n<li><p>The <code class=\"docutils literal notranslate\">--list</code> option of the <code class=\"docutils literal notranslate\">migrate</code> management command will be removed.</p></li>\n<li><p>The <code class=\"docutils literal notranslate\">ssi</code> template tag will be removed.</p></li>\n<li><p>Support for the <code class=\"docutils literal notranslate\">=</code> comparison operator in the <code class=\"docutils literal notranslate\">if</code> template tag will be\nremoved.</p></li>\n<li><p>The backwards compatibility shims to allow <code class=\"docutils literal notranslate\">Storage.get_available_name()</code>\nand <code class=\"docutils literal notranslate\">Storage.save()</code> to be defined without a <code class=\"docutils literal notranslate\">max_length</code> argument will\nbe removed.</p></li>\n<li><p>Support for the legacy <code class=\"docutils literal notranslate\">%(&lt;foo&gt;)s</code> syntax in <code class=\"docutils literal notranslate\">ModelFormMixin.success_url</code>\nwill be removed.</p></li>\n<li><p><code class=\"docutils literal notranslate\">GeoQuerySet</code> aggregate methods <code class=\"docutils literal notranslate\">collect()</code>, <code class=\"docutils literal notranslate\">extent()</code>, <code class=\"docutils literal notranslate\">extent3d()</code>,\n<code class=\"docutils literal notranslate\">make_line()</code>, and <code class=\"docutils literal notranslate\">unionagg()</code> will be removed.</p></li>\n<li><p>Ability to specify <code class=\"docutils literal notranslate\">ContentType.name</code> when creating a content type instance\nwill be removed.</p></li>\n<li><p>Support for the old signature of <code class=\"docutils literal notranslate\">allow_migrate</code> will be removed. It changed\nfrom <code class=\"docutils literal notranslate\">allow_migrate(self, db, model)</code> to\n<code class=\"docutils literal notranslate\">allow_migrate(self, db, app_label, model_name=None, **hints)</code>.</p></li>\n<li><p>Support for the syntax of <code class=\"docutils literal notranslate\">{% cycle %}</code> that uses comma-separated arguments\nwill be removed.</p></li>\n<li><p>The warning that <a class=\"reference internal\" href=\"/ko/5.2/topics/signing/#django.core.signing.Signer\" title=\"django.core.signing.Signer\"><code class=\"xref py py-class docutils literal notranslate\">Signer</code></a> issues when given an\ninvalid separator will become an exception.</p></li>\n</ul>\n</section>\n<section id=\"deprecation-removed-in-1-9\">\n<span id=\"id12\"></span><h2>1.9<a class=\"heading-anchor\" href=\"#deprecation-removed-in-1-9\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<p>See the <a class=\"reference internal\" href=\"/ko/5.2/releases/1.7/#deprecated-features-1-7\"><span class=\"std std-ref\">Django 1.7 release notes</span></a> for more\ndetails on these changes.</p>\n<ul class=\"simple\">\n<li><p><code class=\"docutils literal notranslate\">django.utils.dictconfig</code> will be removed.</p></li>\n<li><p><code class=\"docutils literal notranslate\">django.utils.importlib</code> will be removed.</p></li>\n<li><p><code class=\"docutils literal notranslate\">django.utils.tzinfo</code> will be removed.</p></li>\n<li><p><code class=\"docutils literal notranslate\">django.utils.unittest</code> will be removed.</p></li>\n<li><p>The <code class=\"docutils literal notranslate\">syncdb</code> command will be removed.</p></li>\n<li><p><code class=\"docutils literal notranslate\">django.db.models.signals.pre_syncdb</code> and\n<code class=\"docutils literal notranslate\">django.db.models.signals.post_syncdb</code> will be removed.</p></li>\n<li><p><code class=\"docutils literal notranslate\">allow_syncdb</code> on database routers will no longer automatically become\n<code class=\"docutils literal notranslate\">allow_migrate</code>.</p></li>\n<li><p>Automatic syncing of apps without migrations will be removed. Migrations will\nbecome compulsory for all apps unless you pass the <code class=\"docutils literal notranslate\">--run-syncdb</code> option to\n<code class=\"docutils literal notranslate\">migrate</code>.</p></li>\n<li><p>The SQL management commands for apps without migrations, <code class=\"docutils literal notranslate\">sql</code>, <code class=\"docutils literal notranslate\">sqlall</code>,\n<code class=\"docutils literal notranslate\">sqlclear</code>, <code class=\"docutils literal notranslate\">sqldropindexes</code>, and <code class=\"docutils literal notranslate\">sqlindexes</code>, will be removed.</p></li>\n<li><p>Support for automatic loading of <code class=\"docutils literal notranslate\">initial_data</code> fixtures and initial SQL\ndata will be removed.</p></li>\n<li><p>All models will need to be defined inside an installed application or\ndeclare an explicit <a class=\"reference internal\" href=\"/ko/5.2/ref/models/options/#django.db.models.Options.app_label\" title=\"django.db.models.Options.app_label\"><code class=\"xref py py-attr docutils literal notranslate\">app_label</code></a>.\nFurthermore, it won’t be possible to import them before their application\nis loaded. In particular, it won’t be possible to import models inside\nthe root package of their application.</p></li>\n<li><p>The model and form <code class=\"docutils literal notranslate\">IPAddressField</code> will be removed. A stub field will\nremain for compatibility with historical migrations.</p></li>\n<li><p><code class=\"docutils literal notranslate\">AppCommand.handle_app()</code> will no longer be supported.</p></li>\n<li><p><code class=\"docutils literal notranslate\">RequestSite</code> and <code class=\"docutils literal notranslate\">get_current_site()</code> will no longer be importable from\n<code class=\"docutils literal notranslate\">django.contrib.sites.models</code>.</p></li>\n<li><p>FastCGI support via the <code class=\"docutils literal notranslate\">runfcgi</code> management command will be\nremoved. Please deploy your project using WSGI.</p></li>\n<li><p><code class=\"docutils literal notranslate\">django.utils.datastructures.SortedDict</code> will be removed. Use\n<a class=\"reference external\" href=\"https://docs.python.org/3/library/collections.html#collections.OrderedDict\" title=\"(Python v3.14에서)\"><code class=\"xref py py-class docutils literal notranslate\">collections.OrderedDict</code></a> from the Python standard library instead.</p></li>\n<li><p><code class=\"docutils literal notranslate\">ModelAdmin.declared_fieldsets</code> will be removed.</p></li>\n<li><p>Instances of <code class=\"docutils literal notranslate\">util.py</code> in the Django codebase have been renamed to\n<code class=\"docutils literal notranslate\">utils.py</code> in an effort to unify all util and utils references.\nThe modules that provided backwards compatibility will be removed:</p>\n<ul>\n<li><p><code class=\"docutils literal notranslate\">django.contrib.admin.util</code></p></li>\n<li><p><code class=\"docutils literal notranslate\">django.contrib.gis.db.backends.util</code></p></li>\n<li><p><code class=\"docutils literal notranslate\">django.db.backends.util</code></p></li>\n<li><p><code class=\"docutils literal notranslate\">django.forms.util</code></p></li>\n</ul>\n</li>\n<li><p><code class=\"docutils literal notranslate\">ModelAdmin.get_formsets</code> will be removed.</p></li>\n<li><p>The backward compatibility shim introduced to rename the\n<code class=\"docutils literal notranslate\">BaseMemcachedCache._get_memcache_timeout()</code> method to\n<code class=\"docutils literal notranslate\">get_backend_timeout()</code> will be removed.</p></li>\n<li><p>The <code class=\"docutils literal notranslate\">--natural</code> and <code class=\"docutils literal notranslate\">-n</code> options for <a class=\"reference internal\" href=\"/ko/5.2/ref/django-admin/#django-admin-dumpdata\"><code class=\"xref std std-djadmin docutils literal notranslate\">dumpdata</code></a> will be removed.</p></li>\n<li><p>The <code class=\"docutils literal notranslate\">use_natural_keys</code> argument for <code class=\"docutils literal notranslate\">serializers.serialize()</code> will be\nremoved.</p></li>\n<li><p>Private API <code class=\"docutils literal notranslate\">django.forms.forms.get_declared_fields()</code> will be removed.</p></li>\n<li><p>The ability to use a <code class=\"docutils literal notranslate\">SplitDateTimeWidget</code> with <code class=\"docutils literal notranslate\">DateTimeField</code> will be\nremoved.</p></li>\n<li><p>The <code class=\"docutils literal notranslate\">WSGIRequest.REQUEST</code> property will be removed.</p></li>\n<li><p>The class <code class=\"docutils literal notranslate\">django.utils.datastructures.MergeDict</code> will be removed.</p></li>\n<li><p>The <code class=\"docutils literal notranslate\">zh-cn</code> and <code class=\"docutils literal notranslate\">zh-tw</code> language codes will be removed and have been\nreplaced by the <code class=\"docutils literal notranslate\">zh-hans</code> and <code class=\"docutils literal notranslate\">zh-hant</code> language code respectively.</p></li>\n<li><p>The internal <code class=\"docutils literal notranslate\">django.utils.functional.memoize</code> will be removed.</p></li>\n<li><p><code class=\"docutils literal notranslate\">django.core.cache.get_cache</code> will be removed. Add suitable entries\nto <a class=\"reference internal\" href=\"/ko/5.2/ref/settings/#std-setting-CACHES\"><code class=\"xref std std-setting docutils literal notranslate\">CACHES</code></a> and use <a class=\"reference internal\" href=\"/ko/5.2/topics/cache/#django.core.cache.caches\" title=\"django.core.cache.caches\"><code class=\"xref py py-data docutils literal notranslate\">django.core.cache.caches</code></a> instead.</p></li>\n<li><p><code class=\"docutils literal notranslate\">django.db.models.loading</code> will be removed.</p></li>\n<li><p>Passing callable arguments to querysets will no longer be possible.</p></li>\n<li><p><code class=\"docutils literal notranslate\">BaseCommand.requires_model_validation</code> will be removed in favor of\n<code class=\"docutils literal notranslate\">requires_system_checks</code>. Admin validators will be replaced by admin\nchecks.</p></li>\n<li><p>The <code class=\"docutils literal notranslate\">ModelAdmin.validator_class</code> and <code class=\"docutils literal notranslate\">default_validator_class</code> attributes\nwill be removed.</p></li>\n<li><p><code class=\"docutils literal notranslate\">ModelAdmin.validate()</code> will be removed.</p></li>\n<li><p><code class=\"docutils literal notranslate\">django.db.backends.DatabaseValidation.validate_field</code> will be removed in\nfavor of the <code class=\"docutils literal notranslate\">check_field</code> method.</p></li>\n<li><p>The <code class=\"docutils literal notranslate\">validate</code> management command will be removed.</p></li>\n<li><p><code class=\"docutils literal notranslate\">django.utils.module_loading.import_by_path</code> will be removed in favor of\n<code class=\"docutils literal notranslate\">django.utils.module_loading.import_string</code>.</p></li>\n<li><p><code class=\"docutils literal notranslate\">ssi</code> and <code class=\"docutils literal notranslate\">url</code> template tags will be removed from the <code class=\"docutils literal notranslate\">future</code> template\ntag library (used during the 1.3/1.4 deprecation period).</p></li>\n<li><p><code class=\"docutils literal notranslate\">django.utils.text.javascript_quote</code> will be removed.</p></li>\n<li><p>Database test settings as independent entries in the database settings,\nprefixed by <code class=\"docutils literal notranslate\">TEST_</code>, will no longer be supported.</p></li>\n<li><p>The <code class=\"docutils literal notranslate\">cache_choices</code> option to <a class=\"reference internal\" href=\"/ko/5.2/ref/forms/fields/#django.forms.ModelChoiceField\" title=\"django.forms.ModelChoiceField\"><code class=\"xref py py-class docutils literal notranslate\">ModelChoiceField</code></a> and\n<a class=\"reference internal\" href=\"/ko/5.2/ref/forms/fields/#django.forms.ModelMultipleChoiceField\" title=\"django.forms.ModelMultipleChoiceField\"><code class=\"xref py py-class docutils literal notranslate\">ModelMultipleChoiceField</code></a> will be removed.</p></li>\n<li><p>The default value of the\n<a class=\"reference internal\" href=\"/ko/5.2/ref/class-based-views/base/#django.views.generic.base.RedirectView.permanent\" title=\"django.views.generic.base.RedirectView.permanent\"><code class=\"xref py py-attr docutils literal notranslate\">RedirectView.permanent</code></a>\nattribute will change from <code class=\"docutils literal notranslate\">True</code> to <code class=\"docutils literal notranslate\">False</code>.</p></li>\n<li><p><code class=\"docutils literal notranslate\">django.contrib.sitemaps.FlatPageSitemap</code> will be removed in favor of\n<code class=\"docutils literal notranslate\">django.contrib.flatpages.sitemaps.FlatPageSitemap</code>.</p></li>\n<li><p>Private API <code class=\"docutils literal notranslate\">django.test.utils.TestTemplateLoader</code> will be removed.</p></li>\n<li><p>The <code class=\"docutils literal notranslate\">django.contrib.contenttypes.generic</code> module will be removed.</p></li>\n<li><p>Private APIs <code class=\"docutils literal notranslate\">django.db.models.sql.where.WhereNode.make_atom()</code> and\n<code class=\"docutils literal notranslate\">django.db.models.sql.where.Constraint</code> will be removed.</p></li>\n</ul>\n</section>\n<section id=\"deprecation-removed-in-1-8\">\n<span id=\"id13\"></span><h2>1.8<a class=\"heading-anchor\" href=\"#deprecation-removed-in-1-8\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<p>See the <a class=\"reference internal\" href=\"/ko/5.2/releases/1.6/#deprecated-features-1-6\"><span class=\"std std-ref\">Django 1.6 release notes</span></a> for more\ndetails on these changes.</p>\n<ul class=\"simple\">\n<li><p><code class=\"docutils literal notranslate\">django.contrib.comments</code> will be removed.</p></li>\n<li><p>The following transaction management APIs will be removed:</p>\n<ul>\n<li><p><code class=\"docutils literal notranslate\">TransactionMiddleware</code>,</p></li>\n<li><p>the decorators and context managers <code class=\"docutils literal notranslate\">autocommit</code>, <code class=\"docutils literal notranslate\">commit_on_success</code>,\nand <code class=\"docutils literal notranslate\">commit_manually</code>, defined in <code class=\"docutils literal notranslate\">django.db.transaction</code>,</p></li>\n<li><p>the functions <code class=\"docutils literal notranslate\">commit_unless_managed</code> and <code class=\"docutils literal notranslate\">rollback_unless_managed</code>,\nalso defined in <code class=\"docutils literal notranslate\">django.db.transaction</code>,</p></li>\n<li><p>the <code class=\"docutils literal notranslate\">TRANSACTIONS_MANAGED</code> setting.</p></li>\n</ul>\n</li>\n<li><p>The <a class=\"reference internal\" href=\"/ko/5.2/ref/templates/builtins/#std-templatetag-cycle\"><code class=\"xref std std-ttag docutils literal notranslate\">cycle</code></a> and <a class=\"reference internal\" href=\"/ko/5.2/ref/templates/builtins/#std-templatetag-firstof\"><code class=\"xref std std-ttag docutils literal notranslate\">firstof</code></a> template tags will auto-escape their\narguments. In 1.6 and 1.7, this behavior is provided by the version of these\ntags in the <code class=\"docutils literal notranslate\">future</code> template tag library.</p></li>\n<li><p>The <code class=\"docutils literal notranslate\">SEND_BROKEN_LINK_EMAILS</code> setting will be removed. Add the\n<a class=\"reference internal\" href=\"/ko/5.2/ref/middleware/#django.middleware.common.BrokenLinkEmailsMiddleware\" title=\"django.middleware.common.BrokenLinkEmailsMiddleware\"><code class=\"xref py py-class docutils literal notranslate\">django.middleware.common.BrokenLinkEmailsMiddleware</code></a> middleware to\nyour <code class=\"docutils literal notranslate\">MIDDLEWARE_CLASSES</code> setting instead.</p></li>\n<li><p><code class=\"docutils literal notranslate\">django.middleware.doc.XViewMiddleware</code> will be removed. Use\n<code class=\"docutils literal notranslate\">django.contrib.admindocs.middleware.XViewMiddleware</code> instead.</p></li>\n<li><p><code class=\"docutils literal notranslate\">Model._meta.module_name</code> was renamed to <code class=\"docutils literal notranslate\">model_name</code>.</p></li>\n<li><p>Remove the backward compatible shims introduced to rename <code class=\"docutils literal notranslate\">get_query_set</code>\nand similar queryset methods. This affects the following classes:\n<code class=\"docutils literal notranslate\">BaseModelAdmin</code>, <code class=\"docutils literal notranslate\">ChangeList</code>, <code class=\"docutils literal notranslate\">BaseCommentNode</code>,\n<code class=\"docutils literal notranslate\">GenericForeignKey</code>, <code class=\"docutils literal notranslate\">Manager</code>, <code class=\"docutils literal notranslate\">SingleRelatedObjectDescriptor</code> and\n<code class=\"docutils literal notranslate\">ReverseSingleRelatedObjectDescriptor</code>.</p></li>\n<li><p>Remove the backward compatible shims introduced to rename the attributes\n<code class=\"docutils literal notranslate\">ChangeList.root_query_set</code> and <code class=\"docutils literal notranslate\">ChangeList.query_set</code>.</p></li>\n<li><p><code class=\"docutils literal notranslate\">django.views.defaults.shortcut</code> will be removed, as part of the\ngoal of removing all <code class=\"docutils literal notranslate\">django.contrib</code> references from the core\nDjango codebase. Instead use\n<code class=\"docutils literal notranslate\">django.contrib.contenttypes.views.shortcut</code>. <code class=\"docutils literal notranslate\">django.conf.urls.shortcut</code>\nwill also be removed.</p></li>\n<li><p>Support for the Python Imaging Library (PIL) module will be removed, as it\nno longer appears to be actively maintained &amp; does not work on Python 3.</p></li>\n<li><p>The following private APIs will be removed:</p>\n<ul>\n<li><p><code class=\"docutils literal notranslate\">django.db.backend</code></p></li>\n<li><p><code class=\"docutils literal notranslate\">django.db.close_connection()</code></p></li>\n<li><p><code class=\"docutils literal notranslate\">django.db.backends.creation.BaseDatabaseCreation.set_autocommit()</code></p></li>\n<li><p><code class=\"docutils literal notranslate\">django.db.transaction.is_managed()</code></p></li>\n<li><p><code class=\"docutils literal notranslate\">django.db.transaction.managed()</code></p></li>\n</ul>\n</li>\n<li><p><code class=\"docutils literal notranslate\">django.forms.widgets.RadioInput</code> will be removed in favor of\n<code class=\"docutils literal notranslate\">django.forms.widgets.RadioChoiceInput</code>.</p></li>\n<li><p>The module <code class=\"docutils literal notranslate\">django.test.simple</code> and the class\n<code class=\"docutils literal notranslate\">django.test.simple.DjangoTestSuiteRunner</code> will be removed. Instead use\n<code class=\"docutils literal notranslate\">django.test.runner.DiscoverRunner</code>.</p></li>\n<li><p>The module <code class=\"docutils literal notranslate\">django.test._doctest</code> will be removed. Instead use the doctest\nmodule from the Python standard library.</p></li>\n<li><p>The <code class=\"docutils literal notranslate\">CACHE_MIDDLEWARE_ANONYMOUS_ONLY</code> setting will be removed.</p></li>\n<li><p>Usage of the hard-coded <em>Hold down “Control”, or “Command” on a Mac, to select\nmore than one.</em> string to override or append to user-provided <code class=\"docutils literal notranslate\">help_text</code> in\nforms for ManyToMany model fields will not be performed by Django anymore\neither at the model or forms layer.</p></li>\n<li><p>The <code class=\"docutils literal notranslate\">Model._meta.get_(add|change|delete)_permission</code> methods will\nbe removed.</p></li>\n<li><p>The session key <code class=\"docutils literal notranslate\">django_language</code> will no longer be read for backwards\ncompatibility.</p></li>\n<li><p>Geographic Sitemaps will be removed\n(<code class=\"docutils literal notranslate\">django.contrib.gis.sitemaps.views.index</code> and\n<code class=\"docutils literal notranslate\">django.contrib.gis.sitemaps.views.sitemap</code>).</p></li>\n<li><p><code class=\"docutils literal notranslate\">django.utils.html.fix_ampersands</code>, the <code class=\"docutils literal notranslate\">fix_ampersands</code> template filter and\n<code class=\"docutils literal notranslate\">django.utils.html.clean_html</code> will be removed following an accelerated deprecation.</p></li>\n</ul>\n</section>\n<section id=\"deprecation-removed-in-1-7\">\n<span id=\"id14\"></span><h2>1.7<a class=\"heading-anchor\" href=\"#deprecation-removed-in-1-7\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<p>See the <a class=\"reference internal\" href=\"/ko/5.2/releases/1.5/#deprecated-features-1-5\"><span class=\"std std-ref\">Django 1.5 release notes</span></a> for more\ndetails on these changes.</p>\n<ul class=\"simple\">\n<li><p>The module <code class=\"docutils literal notranslate\">django.utils.simplejson</code> will be removed. The standard library\nprovides <a class=\"reference external\" href=\"https://docs.python.org/3/library/json.html#module-json\" title=\"(Python v3.14에서)\"><code class=\"xref py py-mod docutils literal notranslate\">json</code></a> which should be used instead.</p></li>\n<li><p>The function <code class=\"docutils literal notranslate\">django.utils.itercompat.product</code> will be removed. The Python\nbuiltin version should be used instead.</p></li>\n<li><p>Auto-correction of INSTALLED_APPS and TEMPLATE_DIRS settings when they are\nspecified as a plain string instead of a tuple will be removed and raise an\nexception.</p></li>\n<li><p>The <code class=\"docutils literal notranslate\">mimetype</code> argument to the <code class=\"docutils literal notranslate\">__init__</code> methods of\n<a class=\"reference internal\" href=\"/ko/5.2/ref/request-response/#django.http.HttpResponse\" title=\"django.http.HttpResponse\"><code class=\"xref py py-class docutils literal notranslate\">HttpResponse</code></a>,\n<a class=\"reference internal\" href=\"/ko/5.2/ref/template-response/#django.template.response.SimpleTemplateResponse\" title=\"django.template.response.SimpleTemplateResponse\"><code class=\"xref py py-class docutils literal notranslate\">SimpleTemplateResponse</code></a>, and\n<a class=\"reference internal\" href=\"/ko/5.2/ref/template-response/#django.template.response.TemplateResponse\" title=\"django.template.response.TemplateResponse\"><code class=\"xref py py-class docutils literal notranslate\">TemplateResponse</code></a>, will be removed.\n<code class=\"docutils literal notranslate\">content_type</code> should be used instead. This also applies to the\n<code class=\"docutils literal notranslate\">render_to_response()</code> shortcut and the sitemap views,\n<a class=\"reference internal\" href=\"/ko/5.2/ref/contrib/sitemaps/#django.contrib.sitemaps.views.index\" title=\"django.contrib.sitemaps.views.index\"><code class=\"xref py py-func docutils literal notranslate\">index()</code></a> and\n<a class=\"reference internal\" href=\"/ko/5.2/ref/contrib/sitemaps/#django.contrib.sitemaps.views.sitemap\" title=\"django.contrib.sitemaps.views.sitemap\"><code class=\"xref py py-func docutils literal notranslate\">sitemap()</code></a>.</p></li>\n<li><p>When <a class=\"reference internal\" href=\"/ko/5.2/ref/request-response/#django.http.HttpResponse\" title=\"django.http.HttpResponse\"><code class=\"xref py py-class docutils literal notranslate\">HttpResponse</code></a> is instantiated with an iterator,\nor when <a class=\"reference internal\" href=\"/ko/5.2/ref/request-response/#django.http.HttpResponse.content\" title=\"django.http.HttpResponse.content\"><code class=\"xref py py-attr docutils literal notranslate\">content</code></a> is set to an iterator,\nthat iterator will be immediately consumed.</p></li>\n<li><p>The <code class=\"docutils literal notranslate\">AUTH_PROFILE_MODULE</code> setting, and the <code class=\"docutils literal notranslate\">get_profile()</code> method on\nthe User model, will be removed.</p></li>\n<li><p>The <code class=\"docutils literal notranslate\">cleanup</code> management command will be removed. It’s replaced by\n<code class=\"docutils literal notranslate\">clearsessions</code>.</p></li>\n<li><p>The <code class=\"docutils literal notranslate\">daily_cleanup.py</code> script will be removed.</p></li>\n<li><p>The <code class=\"docutils literal notranslate\">depth</code> keyword argument will be removed from\n<a class=\"reference internal\" href=\"/ko/5.2/ref/models/querysets/#django.db.models.query.QuerySet.select_related\" title=\"django.db.models.query.QuerySet.select_related\"><code class=\"xref py py-meth docutils literal notranslate\">select_related()</code></a>.</p></li>\n<li><p>The undocumented <code class=\"docutils literal notranslate\">get_warnings_state()</code>/<code class=\"docutils literal notranslate\">restore_warnings_state()</code>\nfunctions from <a class=\"reference internal\" href=\"/ko/5.2/topics/testing/advanced/#module-django.test.utils\" title=\"django.test.utils: Helpers to write custom test runners.\"><code class=\"xref py py-mod docutils literal notranslate\">django.test.utils</code></a> and the <code class=\"docutils literal notranslate\">save_warnings_state()</code>/\n<code class=\"docutils literal notranslate\">restore_warnings_state()</code>\n<a class=\"reference internal\" href=\"/ko/5.2/topics/testing/tools/#django-testcase-subclasses\"><span class=\"std std-ref\">django.test.*TestCase</span></a> methods are\ndeprecated. Use the <a class=\"reference external\" href=\"https://docs.python.org/3/library/warnings.html#warnings.catch_warnings\" title=\"(Python v3.14에서)\"><code class=\"xref py py-class docutils literal notranslate\">warnings.catch_warnings</code></a> context manager\navailable starting with Python 2.6 instead.</p></li>\n<li><p>The undocumented <code class=\"docutils literal notranslate\">check_for_test_cookie</code> method in\n<a class=\"reference internal\" href=\"/ko/5.2/topics/auth/default/#django.contrib.auth.forms.AuthenticationForm\" title=\"django.contrib.auth.forms.AuthenticationForm\"><code class=\"xref py py-class docutils literal notranslate\">AuthenticationForm</code></a> will be removed\nfollowing an accelerated deprecation. Users subclassing this form should\nremove calls to this method, and instead ensure that their auth related views\nare CSRF protected, which ensures that cookies are enabled.</p></li>\n<li><p>The version of <code class=\"docutils literal notranslate\">django.contrib.auth.views.password_reset_confirm()</code> that\nsupports base36 encoded user IDs\n(<code class=\"docutils literal notranslate\">django.contrib.auth.views.password_reset_confirm_uidb36</code>) will be\nremoved. If your site has been running Django 1.6 for more than\n<code class=\"docutils literal notranslate\">PASSWORD_RESET_TIMEOUT_DAYS</code>, this change will have no effect. If not,\nthen any password reset links generated before you upgrade to Django 1.7\nwon’t work after the upgrade.</p></li>\n<li><p>The <code class=\"docutils literal notranslate\">django.utils.encoding.StrAndUnicode</code> mix-in will be removed.</p></li>\n</ul>\n</section>\n<section id=\"deprecation-removed-in-1-6\">\n<span id=\"id15\"></span><h2>1.6<a class=\"heading-anchor\" href=\"#deprecation-removed-in-1-6\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<p>See the <a class=\"reference internal\" href=\"/ko/5.2/releases/1.4/#deprecated-features-1-4\"><span class=\"std std-ref\">Django 1.4 release notes</span></a> for more\ndetails on these changes.</p>\n<ul class=\"simple\">\n<li><p><code class=\"docutils literal notranslate\">django.contrib.databrowse</code> will be removed.</p></li>\n<li><p><code class=\"docutils literal notranslate\">django.contrib.localflavor</code> will be removed following an accelerated\ndeprecation.</p></li>\n<li><p><code class=\"docutils literal notranslate\">django.contrib.markup</code> will be removed following an accelerated\ndeprecation.</p></li>\n<li><p>The compatibility modules <code class=\"docutils literal notranslate\">django.utils.copycompat</code> and\n<code class=\"docutils literal notranslate\">django.utils.hashcompat</code> as well as the functions\n<code class=\"docutils literal notranslate\">django.utils.itercompat.all</code> and <code class=\"docutils literal notranslate\">django.utils.itercompat.any</code> will\nbe removed. The Python builtin versions should be used instead.</p></li>\n<li><p>The <code class=\"docutils literal notranslate\">csrf_response_exempt</code> and <code class=\"docutils literal notranslate\">csrf_view_exempt</code> decorators will\nbe removed. Since 1.4 <code class=\"docutils literal notranslate\">csrf_response_exempt</code> has been a no-op (it\nreturns the same function), and <code class=\"docutils literal notranslate\">csrf_view_exempt</code> has been a\nsynonym for <code class=\"docutils literal notranslate\">django.views.decorators.csrf.csrf_exempt</code>, which should\nbe used to replace it.</p></li>\n<li><p>The <code class=\"docutils literal notranslate\">django.core.cache.backends.memcached.CacheClass</code> backend\nwas split into two in Django 1.3 in order to introduce support for\nPyLibMC. The historical <code class=\"docutils literal notranslate\">CacheClass</code> will be removed in favor of\n<code class=\"docutils literal notranslate\">django.core.cache.backends.memcached.MemcachedCache</code>.</p></li>\n<li><p>The UK-prefixed objects of <code class=\"docutils literal notranslate\">django.contrib.localflavor.uk</code> will only\nbe accessible through their GB-prefixed names (GB is the correct\nISO 3166 code for United Kingdom).</p></li>\n<li><p>The <code class=\"docutils literal notranslate\">IGNORABLE_404_STARTS</code> and <code class=\"docutils literal notranslate\">IGNORABLE_404_ENDS</code> settings have been\nsuperseded by <a class=\"reference internal\" href=\"/ko/5.2/ref/settings/#std-setting-IGNORABLE_404_URLS\"><code class=\"xref std std-setting docutils literal notranslate\">IGNORABLE_404_URLS</code></a> in the 1.4 release. They will be\nremoved.</p></li>\n<li><p>The form wizard has been refactored to use class-based views with pluggable\nbackends in 1.4. The previous implementation will be removed.</p></li>\n<li><p>Legacy ways of calling\n<a class=\"reference internal\" href=\"/ko/5.2/topics/cache/#django.views.decorators.cache.cache_page\" title=\"django.views.decorators.cache.cache_page\"><code class=\"xref py py-func docutils literal notranslate\">cache_page()</code></a> will be removed.</p></li>\n<li><p>The backward-compatibility shim to automatically add a debug-false\nfilter to the <code class=\"docutils literal notranslate\">'mail_admins'</code> logging handler will be removed. The\n<a class=\"reference internal\" href=\"/ko/5.2/ref/settings/#std-setting-LOGGING\"><code class=\"xref std std-setting docutils literal notranslate\">LOGGING</code></a> setting should include this filter explicitly if\nit is desired.</p></li>\n<li><p>The builtin truncation functions <code class=\"docutils literal notranslate\">django.utils.text.truncate_words()</code>\nand <code class=\"docutils literal notranslate\">django.utils.text.truncate_html_words()</code> will be removed in\nfavor of the <code class=\"docutils literal notranslate\">django.utils.text.Truncator</code> class.</p></li>\n<li><p>The <code class=\"docutils literal notranslate\">django.contrib.gis.geoip.GeoIP</code> class was moved to\n<code class=\"docutils literal notranslate\">django.contrib.gis.geoip</code> in 1.4 – the shortcut in\n<code class=\"docutils literal notranslate\">django.contrib.gis.utils</code> will be removed.</p></li>\n<li><p><code class=\"docutils literal notranslate\">django.conf.urls.defaults</code> will be removed. The functions\n<code class=\"docutils literal notranslate\">include()</code>, <code class=\"docutils literal notranslate\">patterns()</code>, and <code class=\"docutils literal notranslate\">url()</code>, plus\n<a class=\"reference internal\" href=\"/ko/5.2/ref/urls/#django.conf.urls.handler404\" title=\"django.conf.urls.handler404\"><code class=\"xref py py-data docutils literal notranslate\">handler404</code></a> and <a class=\"reference internal\" href=\"/ko/5.2/ref/urls/#django.conf.urls.handler500\" title=\"django.conf.urls.handler500\"><code class=\"xref py py-data docutils literal notranslate\">handler500</code></a>\nare now available through <code class=\"docutils literal notranslate\">django.conf.urls</code>.</p></li>\n<li><p>The functions <code class=\"docutils literal notranslate\">setup_environ()</code> and <code class=\"docutils literal notranslate\">execute_manager()</code> will be removed\nfrom <a class=\"reference internal\" href=\"/ko/5.2/howto/custom-management-commands/#module-django.core.management\" title=\"django.core.management\"><code class=\"xref py py-mod docutils literal notranslate\">django.core.management</code></a>. This also means that the old (pre-1.4)\nstyle of <code class=\"file docutils literal notranslate\">manage.py</code> file will no longer work.</p></li>\n<li><p>Setting the <code class=\"docutils literal notranslate\">is_safe</code> and <code class=\"docutils literal notranslate\">needs_autoescape</code> flags as attributes of\ntemplate filter functions will no longer be supported.</p></li>\n<li><p>The attribute <code class=\"docutils literal notranslate\">HttpRequest.raw_post_data</code> was renamed to <code class=\"docutils literal notranslate\">HttpRequest.body</code>\nin 1.4. The backward compatibility will be removed –\n<code class=\"docutils literal notranslate\">HttpRequest.raw_post_data</code> will no longer work.</p></li>\n<li><p>The value for the <code class=\"docutils literal notranslate\">post_url_continue</code> parameter in\n<code class=\"docutils literal notranslate\">ModelAdmin.response_add()</code> will have to be either <code class=\"docutils literal notranslate\">None</code> (to redirect\nto the newly created object’s edit page) or a pre-formatted url. String\nformats, such as the previous default <code class=\"docutils literal notranslate\">'../%s/'</code>, will not be accepted any\nmore.</p></li>\n</ul>\n</section>\n<section id=\"deprecation-removed-in-1-5\">\n<span id=\"id16\"></span><h2>1.5<a class=\"heading-anchor\" href=\"#deprecation-removed-in-1-5\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<p>See the <a class=\"reference internal\" href=\"/ko/5.2/releases/1.3/#deprecated-features-1-3\"><span class=\"std std-ref\">Django 1.3 release notes</span></a> for more\ndetails on these changes.</p>\n<ul class=\"simple\">\n<li><p>Starting Django without a <a class=\"reference internal\" href=\"/ko/5.2/ref/settings/#std-setting-SECRET_KEY\"><code class=\"xref std std-setting docutils literal notranslate\">SECRET_KEY</code></a> will result in an exception\nrather than a <code class=\"docutils literal notranslate\">DeprecationWarning</code>. (This is accelerated from the usual\ndeprecation path; see the <a class=\"reference internal\" href=\"/ko/5.2/releases/1.4/\"><span class=\"doc\">Django 1.4 release notes</span></a>.)</p></li>\n<li><p>The <code class=\"docutils literal notranslate\">mod_python</code> request handler will be removed. The <code class=\"docutils literal notranslate\">mod_wsgi</code>\nhandler should be used instead.</p></li>\n<li><p>The <code class=\"docutils literal notranslate\">template</code> attribute on <code class=\"docutils literal notranslate\">django.test.client.Response</code>\nobjects returned by the <a class=\"reference internal\" href=\"/ko/5.2/topics/testing/tools/#test-client\"><span class=\"std std-ref\">test client</span></a> will be removed.\nThe <a class=\"reference internal\" href=\"/ko/5.2/topics/testing/tools/#django.test.Response.templates\" title=\"django.test.Response.templates\"><code class=\"xref py py-attr docutils literal notranslate\">templates</code></a> attribute should be\nused instead.</p></li>\n<li><p>The <code class=\"docutils literal notranslate\">django.test.simple.DjangoTestRunner</code> will be removed.\nInstead use a <code class=\"docutils literal notranslate\">unittest</code>-native class. The features of the\n<code class=\"docutils literal notranslate\">django.test.simple.DjangoTestRunner</code> (including fail-fast and\nCtrl-C test termination) can be provided by <a class=\"reference external\" href=\"https://docs.python.org/3/library/unittest.html#unittest.TextTestRunner\" title=\"(Python v3.14에서)\"><code class=\"xref py py-class docutils literal notranslate\">unittest.TextTestRunner</code></a>.</p></li>\n<li><p>The undocumented function\n<code class=\"docutils literal notranslate\">django.contrib.formtools.utils.security_hash</code> will be removed,\ninstead use <code class=\"docutils literal notranslate\">django.contrib.formtools.utils.form_hmac</code></p></li>\n<li><p>The function-based generic view modules will be removed in favor of their\nclass-based equivalents, outlined <a class=\"reference internal\" href=\"/ko/5.2/topics/class-based-views/\"><span class=\"doc\">here</span></a>.</p></li>\n<li><p>The <code class=\"docutils literal notranslate\">django.core.servers.basehttp.AdminMediaHandler</code> will be\nremoved.  In its place use\n<code class=\"docutils literal notranslate\">django.contrib.staticfiles.handlers.StaticFilesHandler</code>.</p></li>\n<li><p>The template tags library <code class=\"docutils literal notranslate\">adminmedia</code> and the template tag <code class=\"docutils literal notranslate\">{%\nadmin_media_prefix %}</code> will be removed in favor of the generic static files\nhandling. (This is faster than the usual deprecation path; see the\n<a class=\"reference internal\" href=\"/ko/5.2/releases/1.4/\"><span class=\"doc\">Django 1.4 release notes</span></a>.)</p></li>\n<li><p>The <code class=\"docutils literal notranslate\">url</code> and <code class=\"docutils literal notranslate\">ssi</code> template tags will be modified so that the first\nargument to each tag is a template variable, not an implied string. In 1.4,\nthis behavior is provided by a version of the tag in the <code class=\"docutils literal notranslate\">future</code> template\ntag library.</p></li>\n<li><p>The <code class=\"docutils literal notranslate\">reset</code> and <code class=\"docutils literal notranslate\">sqlreset</code> management commands will be removed.</p></li>\n<li><p>Authentication backends will need to support an inactive user\nbeing passed to all methods dealing with permissions.\nThe <code class=\"docutils literal notranslate\">supports_inactive_user</code> attribute will no longer be checked\nand can be removed from custom backends.</p></li>\n<li><p><a class=\"reference internal\" href=\"/ko/5.2/ref/contrib/gis/geos/#django.contrib.gis.geos.GEOSGeometry.transform\" title=\"django.contrib.gis.geos.GEOSGeometry.transform\"><code class=\"xref py py-meth docutils literal notranslate\">transform()</code></a> will raise\na <a class=\"reference internal\" href=\"/ko/5.2/ref/contrib/gis/geos/#django.contrib.gis.geos.GEOSException\" title=\"django.contrib.gis.geos.GEOSException\"><code class=\"xref py py-class docutils literal notranslate\">GEOSException</code></a> when called\non a geometry with no SRID value.</p></li>\n<li><p><code class=\"docutils literal notranslate\">django.http.CompatCookie</code> will be removed in favor of\n<code class=\"docutils literal notranslate\">django.http.SimpleCookie</code>.</p></li>\n<li><p><code class=\"docutils literal notranslate\">django.core.context_processors.PermWrapper</code> and\n<code class=\"docutils literal notranslate\">django.core.context_processors.PermLookupDict</code> will be removed in\nfavor of the corresponding\n<code class=\"docutils literal notranslate\">django.contrib.auth.context_processors.PermWrapper</code> and\n<code class=\"docutils literal notranslate\">django.contrib.auth.context_processors.PermLookupDict</code>, respectively.</p></li>\n<li><p>The <a class=\"reference internal\" href=\"/ko/5.2/ref/settings/#std-setting-MEDIA_URL\"><code class=\"xref std std-setting docutils literal notranslate\">MEDIA_URL</code></a> or <a class=\"reference internal\" href=\"/ko/5.2/ref/settings/#std-setting-STATIC_URL\"><code class=\"xref std std-setting docutils literal notranslate\">STATIC_URL</code></a> settings will be\nrequired to end with a trailing slash to ensure there is a consistent\nway to combine paths in templates.</p></li>\n<li><p><code class=\"docutils literal notranslate\">django.db.models.fields.URLField.verify_exists</code> will be removed. The\nfeature was deprecated in 1.3.1 due to intractable security and\nperformance issues and will follow a slightly accelerated deprecation\ntimeframe.</p></li>\n<li><p>Translations located under the so-called <em>project path</em> will be ignored during\nthe translation building process performed at runtime. The\n<a class=\"reference internal\" href=\"/ko/5.2/ref/settings/#std-setting-LOCALE_PATHS\"><code class=\"xref std std-setting docutils literal notranslate\">LOCALE_PATHS</code></a> setting can be used for the same task by including the\nfilesystem path to a <code class=\"docutils literal notranslate\">locale</code> directory containing non-app-specific\ntranslations in its value.</p></li>\n<li><p>The Markup contrib app will no longer support versions of Python-Markdown\nlibrary earlier than 2.1. An accelerated timeline was used as this was\na security related deprecation.</p></li>\n<li><p>The <code class=\"docutils literal notranslate\">CACHE_BACKEND</code> setting will be removed. The cache backend(s) should be\nspecified in the <a class=\"reference internal\" href=\"/ko/5.2/ref/settings/#std-setting-CACHES\"><code class=\"xref std std-setting docutils literal notranslate\">CACHES</code></a> setting.</p></li>\n</ul>\n</section>\n<section id=\"deprecation-removed-in-1-4\">\n<span id=\"id17\"></span><h2>1.4<a class=\"heading-anchor\" href=\"#deprecation-removed-in-1-4\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<p>See the <a class=\"reference internal\" href=\"/ko/5.2/releases/1.2/#deprecated-features-1-2\"><span class=\"std std-ref\">Django 1.2 release notes</span></a> for more\ndetails on these changes.</p>\n<ul class=\"simple\">\n<li><p><code class=\"docutils literal notranslate\">CsrfResponseMiddleware</code> and <code class=\"docutils literal notranslate\">CsrfMiddleware</code> will be removed.  Use\nthe <code class=\"docutils literal notranslate\">{% csrf_token %}</code> template tag inside forms to enable CSRF\nprotection. <code class=\"docutils literal notranslate\">CsrfViewMiddleware</code> remains and is enabled by default.</p></li>\n<li><p>The old imports for CSRF functionality (<code class=\"docutils literal notranslate\">django.contrib.csrf.*</code>),\nwhich moved to core in 1.2, will be removed.</p></li>\n<li><p>The <code class=\"docutils literal notranslate\">django.contrib.gis.db.backend</code> module will be removed in favor\nof the specific backends.</p></li>\n<li><p><code class=\"docutils literal notranslate\">SMTPConnection</code> will be removed in favor of a generic email backend API.</p></li>\n<li><p>The many to many SQL generation functions on the database backends\nwill be removed.</p></li>\n<li><p>The ability to use the <code class=\"docutils literal notranslate\">DATABASE_*</code> family of top-level settings to\ndefine database connections will be removed.</p></li>\n<li><p>The ability to use shorthand notation to specify a database backend\n(i.e., <code class=\"docutils literal notranslate\">sqlite3</code> instead of <code class=\"docutils literal notranslate\">django.db.backends.sqlite3</code>) will be\nremoved.</p></li>\n<li><p>The <code class=\"docutils literal notranslate\">get_db_prep_save</code>, <code class=\"docutils literal notranslate\">get_db_prep_value</code> and\n<code class=\"docutils literal notranslate\">get_db_prep_lookup</code> methods will have to support multiple databases.</p></li>\n<li><p>The <code class=\"docutils literal notranslate\">Message</code> model (in <code class=\"docutils literal notranslate\">django.contrib.auth</code>), its related\nmanager in the <code class=\"docutils literal notranslate\">User</code> model (<code class=\"docutils literal notranslate\">user.message_set</code>), and the\nassociated methods (<code class=\"docutils literal notranslate\">user.message_set.create()</code> and\n<code class=\"docutils literal notranslate\">user.get_and_delete_messages()</code>), will be removed.  The\n<a class=\"reference internal\" href=\"/ko/5.2/ref/contrib/messages/\"><span class=\"doc\">messages framework</span></a> should be used\ninstead. The related <code class=\"docutils literal notranslate\">messages</code> variable returned by the\nauth context processor will also be removed. Note that this\nmeans that the admin application will depend on the messages\ncontext processor.</p></li>\n<li><p>Authentication backends will need to support the <code class=\"docutils literal notranslate\">obj</code> parameter for\npermission checking. The <code class=\"docutils literal notranslate\">supports_object_permissions</code> attribute\nwill no longer be checked and can be removed from custom backends.</p></li>\n<li><p>Authentication backends will need to support the <code class=\"docutils literal notranslate\">AnonymousUser</code> class\nbeing passed to all methods dealing with permissions.  The\n<code class=\"docutils literal notranslate\">supports_anonymous_user</code> variable will no longer be checked and can be\nremoved from custom backends.</p></li>\n<li><p>The ability to specify a callable template loader rather than a\n<code class=\"docutils literal notranslate\">Loader</code> class will be removed, as will the <code class=\"docutils literal notranslate\">load_template_source</code>\nfunctions that are included with the built in template loaders for\nbackwards compatibility.</p></li>\n<li><p><code class=\"docutils literal notranslate\">django.utils.translation.get_date_formats()</code> and\n<code class=\"docutils literal notranslate\">django.utils.translation.get_partial_date_formats()</code>. These functions\nwill be removed; use the locale-aware\n<code class=\"docutils literal notranslate\">django.utils.formats.get_format()</code> to get the appropriate formats.</p></li>\n<li><p>In <code class=\"docutils literal notranslate\">django.forms.fields</code>, the constants: <code class=\"docutils literal notranslate\">DEFAULT_DATE_INPUT_FORMATS</code>,\n<code class=\"docutils literal notranslate\">DEFAULT_TIME_INPUT_FORMATS</code> and\n<code class=\"docutils literal notranslate\">DEFAULT_DATETIME_INPUT_FORMATS</code> will be removed. Use\n<code class=\"docutils literal notranslate\">django.utils.formats.get_format()</code> to get the appropriate\nformats.</p></li>\n<li><p>The ability to use a function-based test runner will be removed,\nalong with the <code class=\"docutils literal notranslate\">django.test.simple.run_tests()</code> test runner.</p></li>\n<li><p>The <code class=\"docutils literal notranslate\">views.feed()</code> view and <code class=\"docutils literal notranslate\">feeds.Feed</code> class in\n<code class=\"docutils literal notranslate\">django.contrib.syndication</code> will be removed. The class-based view\n<code class=\"docutils literal notranslate\">views.Feed</code> should be used instead.</p></li>\n<li><p><code class=\"docutils literal notranslate\">django.core.context_processors.auth</code>.  This release will\nremove the old method in favor of the new method in\n<code class=\"docutils literal notranslate\">django.contrib.auth.context_processors.auth</code>.</p></li>\n<li><p>The <code class=\"docutils literal notranslate\">postgresql</code> database backend will be removed, use the\n<code class=\"docutils literal notranslate\">postgresql_psycopg2</code> backend instead.</p></li>\n<li><p>The <code class=\"docutils literal notranslate\">no</code> language code will be removed and has been replaced by the\n<code class=\"docutils literal notranslate\">nb</code> language code.</p></li>\n<li><p>Authentication backends will need to define the boolean attribute\n<code class=\"docutils literal notranslate\">supports_inactive_user</code> until version 1.5 when it will be assumed that\nall backends will handle inactive users.</p></li>\n<li><p><code class=\"docutils literal notranslate\">django.db.models.fields.XMLField</code> will be removed. This was\ndeprecated as part of the 1.3 release. An accelerated deprecation\nschedule has been used because the field hasn’t performed any role\nbeyond that of a simple <code class=\"docutils literal notranslate\">TextField</code> since the removal of <code class=\"docutils literal notranslate\">oldforms</code>.\nAll uses of <code class=\"docutils literal notranslate\">XMLField</code> can be replaced with <code class=\"docutils literal notranslate\">TextField</code>.</p></li>\n<li><p>The undocumented <code class=\"docutils literal notranslate\">mixin</code> parameter to the <code class=\"docutils literal notranslate\">open()</code> method of\n<code class=\"docutils literal notranslate\">django.core.files.storage.Storage</code> (and subclasses) will be removed.</p></li>\n</ul>\n</section>\n<section id=\"deprecation-removed-in-1-3\">\n<span id=\"id18\"></span><h2>1.3<a class=\"heading-anchor\" href=\"#deprecation-removed-in-1-3\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<p>See the <a class=\"reference internal\" href=\"/ko/5.2/releases/1.1/#deprecated-features-1-1\"><span class=\"std std-ref\">Django 1.1 release notes</span></a> for more\ndetails on these changes.</p>\n<ul class=\"simple\">\n<li><p><code class=\"docutils literal notranslate\">AdminSite.root()</code>.  This method of hooking up the admin URLs will be\nremoved in favor of including <code class=\"docutils literal notranslate\">admin.site.urls</code>.</p></li>\n<li><p>Authentication backends need to define the boolean attributes\n<code class=\"docutils literal notranslate\">supports_object_permissions</code> and <code class=\"docutils literal notranslate\">supports_anonymous_user</code> until\nversion 1.4, at which point it will be assumed that all backends will\nsupport these options.</p></li>\n</ul>\n</section>","rootId":"django-deprecation-timeline","toc":[{"title":"6.1","anchor":"deprecation-removed-in-6-1","children":[]},{"title":"6.0","anchor":"deprecation-removed-in-6-0","children":[]},{"title":"5.1","anchor":"deprecation-removed-in-5-1","children":[]},{"title":"5.0","anchor":"deprecation-removed-in-5-0","children":[]},{"title":"4.1","anchor":"deprecation-removed-in-4-1","children":[]},{"title":"4.0","anchor":"deprecation-removed-in-4-0","children":[]},{"title":"3.1","anchor":"deprecation-removed-in-3-1","children":[]},{"title":"3.0","anchor":"deprecation-removed-in-3-0","children":[]},{"title":"2.1","anchor":"deprecation-removed-in-2-1","children":[]},{"title":"2.0","anchor":"deprecation-removed-in-2-0","children":[]},{"title":"1.10","anchor":"deprecation-removed-in-1-10","children":[]},{"title":"1.9","anchor":"deprecation-removed-in-1-9","children":[]},{"title":"1.8","anchor":"deprecation-removed-in-1-8","children":[]},{"title":"1.7","anchor":"deprecation-removed-in-1-7","children":[]},{"title":"1.6","anchor":"deprecation-removed-in-1-6","children":[]},{"title":"1.5","anchor":"deprecation-removed-in-1-5","children":[]},{"title":"1.4","anchor":"deprecation-removed-in-1-4","children":[]},{"title":"1.3","anchor":"deprecation-removed-in-1-3","children":[]}],"breadcrumbs":[{"docname":"internals/index","title":"Django internals","url":"/ko/5.2/internals/"}],"prev":{"docname":"internals/release-process","title":"Django’s release process","url":"/ko/5.2/internals/release-process/"},"next":{"docname":"internals/git","title":"The Django source code repository","url":"/ko/5.2/internals/git/"},"formats":{"html":"/ko/5.2/internals/deprecation/","markdown":"/ko/5.2/internals/deprecation.md","json":"/ko/5.2/internals/deprecation.json"},"source":"https://github.com/django/django/blob/stable/5.2.x/docs/internals/deprecation.txt","official":"https://docs.djangoproject.com/ko/5.2/internals/deprecation/","inVersions":["6.1","6.0","5.2","5.1","5.0","4.2","4.1","4.0","3.2","3.1","3.0","2.2","2.1","2.0","1.11"],"inLocales":["en","sv","zh-hans","ga","fr","ja","id","it","pt-br","ko","es","el","pl"]}