{"title":"Django Deprecation Timeline","version":"5.0","locale":"pl","docname":"internals/deprecation","url":"/pl/5.0/internals/deprecation/","canonical":"https://djangodocs.dev/pl/5.0/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 deprecation…","html":"<h1>Django Deprecation Timeline<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=\"/pl/5.0/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-0\">\n<span id=\"id1\"></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=\"/pl/5.0/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\"><span class=\"pre\">DjangoDivFormRenderer</span></code> and <code class=\"docutils literal notranslate\"><span class=\"pre\">Jinja2DivFormRenderer</span></code> transitional form\nrenderers will be removed.</p></li>\n<li><p>Support for passing positional arguments to <code class=\"docutils literal notranslate\"><span class=\"pre\">BaseConstraint</span></code> will be\nremoved.</p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">request</span></code> will be required in the signature of\n<code class=\"docutils literal notranslate\"><span class=\"pre\">ModelAdmin.lookup_allowed()</span></code> subclasses.</p></li>\n<li><p>The <code class=\"docutils literal notranslate\"><span class=\"pre\">django.db.models.sql.datastructures.Join</span></code> will no longer fallback to\n<code class=\"docutils literal notranslate\"><span class=\"pre\">get_joining_columns()</span></code>.</p></li>\n<li><p>The <code class=\"docutils literal notranslate\"><span class=\"pre\">get_joining_columns()</span></code> method of <code class=\"docutils literal notranslate\"><span class=\"pre\">ForeignObject</span></code> and\n<code class=\"docutils literal notranslate\"><span class=\"pre\">ForeignObjectRel</span></code> will be removed.</p></li>\n<li><p>The <code class=\"docutils literal notranslate\"><span class=\"pre\">ForeignObject.get_reverse_joining_columns()</span></code> method will be removed.</p></li>\n<li><p>The default scheme for <code class=\"docutils literal notranslate\"><span class=\"pre\">forms.URLField</span></code> will change from <code class=\"docutils literal notranslate\"><span class=\"pre\">&quot;http&quot;</span></code> to\n<code class=\"docutils literal notranslate\"><span class=\"pre\">&quot;https&quot;</span></code>.</p></li>\n<li><p>Support for calling <code class=\"docutils literal notranslate\"><span class=\"pre\">format_html()</span></code> without passing args or kwargs will be\nremoved.</p></li>\n<li><p>Support for <code class=\"docutils literal notranslate\"><span class=\"pre\">cx_Oracle</span></code> will be removed.</p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">BaseDatabaseOperations.field_cast_sql()</span></code> will be removed.</p></li>\n<li><p>The <code class=\"docutils literal notranslate\"><span class=\"pre\">ChoicesMeta</span></code> alias to <code class=\"docutils literal notranslate\"><span class=\"pre\">django.db.models.enums.ChoicesType</span></code> will be\nremoved.</p></li>\n<li><p>The <code class=\"docutils literal notranslate\"><span class=\"pre\">Prefetch.get_current_queryset()</span></code> method will be removed.</p></li>\n<li><p>The <code class=\"docutils literal notranslate\"><span class=\"pre\">get_prefetch_queryset()</span></code> method of related managers and descriptors\nwill be removed.</p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">get_prefetcher()</span></code> and <code class=\"docutils literal notranslate\"><span class=\"pre\">prefetch_related_objects()</span></code> will no longer\nfallback to <code class=\"docutils literal notranslate\"><span class=\"pre\">get_prefetch_queryset()</span></code>.</p></li>\n<li><p>The <code class=\"docutils literal notranslate\"><span class=\"pre\">FORMS_URLFIELD_ASSUME_HTTPS</span></code> transitional setting will be removed.</p></li>\n</ul>\n</section>\n<section id=\"deprecation-removed-in-5-1\">\n<span id=\"id2\"></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=\"/pl/5.0/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\"><span class=\"pre\">BaseUserManager.make_random_password()</span></code> method will be removed.</p></li>\n<li><p>The model’s <code class=\"docutils literal notranslate\"><span class=\"pre\">Meta.index_together</span></code> option will be removed.</p></li>\n<li><p>The <code class=\"docutils literal notranslate\"><span class=\"pre\">length_is</span></code> template filter will be removed.</p></li>\n<li><p>The <code class=\"docutils literal notranslate\"><span class=\"pre\">django.contrib.auth.hashers.SHA1PasswordHasher</span></code>,\n<code class=\"docutils literal notranslate\"><span class=\"pre\">django.contrib.auth.hashers.UnsaltedSHA1PasswordHasher</span></code>, and\n<code class=\"docutils literal notranslate\"><span class=\"pre\">django.contrib.auth.hashers.UnsaltedMD5PasswordHasher</span></code> will be removed.</p></li>\n<li><p>The model <code class=\"docutils literal notranslate\"><span class=\"pre\">django.contrib.postgres.fields.CICharField</span></code>,\n<code class=\"docutils literal notranslate\"><span class=\"pre\">django.contrib.postgres.fields.CIEmailField</span></code>, and\n<code class=\"docutils literal notranslate\"><span class=\"pre\">django.contrib.postgres.fields.CITextField</span></code> will be removed. Stub fields\nwill remain for compatibility with historical migrations.</p></li>\n<li><p>The <code class=\"docutils literal notranslate\"><span class=\"pre\">django.contrib.postgres.fields.CIText</span></code> mixin will be removed.</p></li>\n<li><p>The <code class=\"docutils literal notranslate\"><span class=\"pre\">map_width</span></code> and <code class=\"docutils literal notranslate\"><span class=\"pre\">map_height</span></code> attributes of <code class=\"docutils literal notranslate\"><span class=\"pre\">BaseGeometryWidget</span></code>\nwill be removed.</p></li>\n<li><p>The <code class=\"docutils literal notranslate\"><span class=\"pre\">SimpleTestCase.assertFormsetError()</span></code> method will be removed.</p></li>\n<li><p>The <code class=\"docutils literal notranslate\"><span class=\"pre\">TransactionTestCase.assertQuerysetEqual()</span></code> method will be removed.</p></li>\n<li><p>Support for passing encoded JSON string literals to <code class=\"docutils literal notranslate\"><span class=\"pre\">JSONField</span></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\"><span class=\"pre\">Signer</span></code> and\n<code class=\"docutils literal notranslate\"><span class=\"pre\">TimestampSigner</span></code> will be removed.</p></li>\n<li><p>The <code class=\"docutils literal notranslate\"><span class=\"pre\">DEFAULT_FILE_STORAGE</span></code> and <code class=\"docutils literal notranslate\"><span class=\"pre\">STATICFILES_STORAGE</span></code> settings will be\nremoved.</p></li>\n<li><p>The <code class=\"docutils literal notranslate\"><span class=\"pre\">django.core.files.storage.get_storage_class()</span></code> function will be\nremoved.</p></li>\n</ul>\n</section>\n<section id=\"deprecation-removed-in-5-0\">\n<span id=\"id3\"></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>See the <a class=\"reference internal\" href=\"/pl/5.0/releases/4.0/#deprecated-features-4-0\"><span class=\"std std-ref\">Django 4.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\"><span class=\"pre\">SERIALIZE</span></code> test setting will be removed.</p></li>\n<li><p>The undocumented <code class=\"docutils literal notranslate\"><span class=\"pre\">django.utils.baseconv</span></code> module will be removed.</p></li>\n<li><p>The undocumented <code class=\"docutils literal notranslate\"><span class=\"pre\">django.utils.datetime_safe</span></code> module will be removed.</p></li>\n<li><p>The default value of the <code class=\"docutils literal notranslate\"><span class=\"pre\">USE_TZ</span></code> setting will change from <code class=\"docutils literal notranslate\"><span class=\"pre\">False</span></code> to\n<code class=\"docutils literal notranslate\"><span class=\"pre\">True</span></code>.</p></li>\n<li><p>The default sitemap protocol for sitemaps built outside the context of a\nrequest will change from <code class=\"docutils literal notranslate\"><span class=\"pre\">'http'</span></code> to <code class=\"docutils literal notranslate\"><span class=\"pre\">'https'</span></code>.</p></li>\n<li><p>The <code class=\"docutils literal notranslate\"><span class=\"pre\">extra_tests</span></code> argument for <code class=\"docutils literal notranslate\"><span class=\"pre\">DiscoverRunner.build_suite()</span></code> and\n<code class=\"docutils literal notranslate\"><span class=\"pre\">DiscoverRunner.run_tests()</span></code> will be removed.</p></li>\n<li><p>The <code class=\"docutils literal notranslate\"><span class=\"pre\">django.contrib.postgres.aggregates.ArrayAgg</span></code>, <code class=\"docutils literal notranslate\"><span class=\"pre\">JSONBAgg</span></code>, and\n<code class=\"docutils literal notranslate\"><span class=\"pre\">StringAgg</span></code> aggregates will return <code class=\"docutils literal notranslate\"><span class=\"pre\">None</span></code> when there are no rows instead\nof <code class=\"docutils literal notranslate\"><span class=\"pre\">[]</span></code>, <code class=\"docutils literal notranslate\"><span class=\"pre\">[]</span></code>, and <code class=\"docutils literal notranslate\"><span class=\"pre\">''</span></code> respectively.</p></li>\n<li><p>The <code class=\"docutils literal notranslate\"><span class=\"pre\">USE_L10N</span></code> setting will be removed.</p></li>\n<li><p>The <code class=\"docutils literal notranslate\"><span class=\"pre\">USE_DEPRECATED_PYTZ</span></code> transitional setting will be removed.</p></li>\n<li><p>Support for <code class=\"docutils literal notranslate\"><span class=\"pre\">pytz</span></code> timezones will be removed.</p></li>\n<li><p>The <code class=\"docutils literal notranslate\"><span class=\"pre\">is_dst</span></code> argument will be removed from:</p>\n<ul>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">QuerySet.datetimes()</span></code></p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">django.utils.timezone.make_aware()</span></code></p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">django.db.models.functions.Trunc()</span></code></p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">django.db.models.functions.TruncSecond()</span></code></p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">django.db.models.functions.TruncMinute()</span></code></p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">django.db.models.functions.TruncHour()</span></code></p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">django.db.models.functions.TruncDay()</span></code></p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">django.db.models.functions.TruncWeek()</span></code></p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">django.db.models.functions.TruncMonth()</span></code></p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">django.db.models.functions.TruncQuarter()</span></code></p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">django.db.models.functions.TruncYear()</span></code></p></li>\n</ul>\n</li>\n<li><p>The <code class=\"docutils literal notranslate\"><span class=\"pre\">django.contrib.gis.admin.GeoModelAdmin</span></code> and <code class=\"docutils literal notranslate\"><span class=\"pre\">OSMGeoAdmin</span></code> classes\nwill be removed.</p></li>\n<li><p>The undocumented <code class=\"docutils literal notranslate\"><span class=\"pre\">BaseForm._html_output()</span></code> method will be removed.</p></li>\n<li><p>The ability to return a <code class=\"docutils literal notranslate\"><span class=\"pre\">str</span></code>, rather than a <code class=\"docutils literal notranslate\"><span class=\"pre\">SafeString</span></code>, when rendering\nan <code class=\"docutils literal notranslate\"><span class=\"pre\">ErrorDict</span></code> and <code class=\"docutils literal notranslate\"><span class=\"pre\">ErrorList</span></code> will be removed.</p></li>\n</ul>\n<p>See the <a class=\"reference internal\" href=\"/pl/5.0/releases/4.1/#deprecated-features-4-1\"><span class=\"std std-ref\">Django 4.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\"><span class=\"pre\">SitemapIndexItem.__str__()</span></code> method will be removed.</p></li>\n<li><p>The <code class=\"docutils literal notranslate\"><span class=\"pre\">CSRF_COOKIE_MASKED</span></code> transitional setting will be removed.</p></li>\n<li><p>The <code class=\"docutils literal notranslate\"><span class=\"pre\">name</span></code> argument of <code class=\"docutils literal notranslate\"><span class=\"pre\">django.utils.functional.cached_property()</span></code> will\nbe removed.</p></li>\n<li><p>The <code class=\"docutils literal notranslate\"><span class=\"pre\">opclasses</span></code> argument of\n<code class=\"docutils literal notranslate\"><span class=\"pre\">django.contrib.postgres.constraints.ExclusionConstraint</span></code> will be removed.</p></li>\n<li><p>The undocumented ability to pass <code class=\"docutils literal notranslate\"><span class=\"pre\">errors=None</span></code> to\n<code class=\"docutils literal notranslate\"><span class=\"pre\">SimpleTestCase.assertFormError()</span></code> and <code class=\"docutils literal notranslate\"><span class=\"pre\">assertFormsetError()</span></code> will be\nremoved.</p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">django.contrib.sessions.serializers.PickleSerializer</span></code> will be removed.</p></li>\n<li><p>The usage of <code class=\"docutils literal notranslate\"><span class=\"pre\">QuerySet.iterator()</span></code> on a queryset that prefetches related\nobjects without providing the <code class=\"docutils literal notranslate\"><span class=\"pre\">chunk_size</span></code> argument will no longer be\nallowed.</p></li>\n<li><p>Passing unsaved model instances to related filters will no longer be allowed.</p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">created=True</span></code> will be required in the signature of\n<code class=\"docutils literal notranslate\"><span class=\"pre\">RemoteUserBackend.configure_user()</span></code> subclasses.</p></li>\n<li><p>Support for logging out via <code class=\"docutils literal notranslate\"><span class=\"pre\">GET</span></code> requests in the\n<code class=\"docutils literal notranslate\"><span class=\"pre\">django.contrib.auth.views.LogoutView</span></code> and\n<code class=\"docutils literal notranslate\"><span class=\"pre\">django.contrib.auth.views.logout_then_login()</span></code> will be removed.</p></li>\n<li><p>The <code class=\"docutils literal notranslate\"><span class=\"pre\">django.utils.timezone.utc</span></code> alias to <code class=\"docutils literal notranslate\"><span class=\"pre\">datetime.timezone.utc</span></code> will be\nremoved.</p></li>\n<li><p>Passing a response object and a form/formset name to\n<code class=\"docutils literal notranslate\"><span class=\"pre\">SimpleTestCase.assertFormError()</span></code> and <code class=\"docutils literal notranslate\"><span class=\"pre\">assertFormsetError()</span></code> will no\nlonger be allowed.</p></li>\n<li><p>The <code class=\"docutils literal notranslate\"><span class=\"pre\">django.contrib.gis.admin.OpenLayersWidget</span></code> will be removed.</p></li>\n<li><p>The <code class=\"docutils literal notranslate\"><span class=\"pre\">django.contrib.auth.hashers.CryptPasswordHasher</span></code> will be removed.</p></li>\n<li><p>The <code class=\"docutils literal notranslate\"><span class=\"pre\">&quot;django/forms/default.html&quot;</span></code> and\n<code class=\"docutils literal notranslate\"><span class=\"pre\">&quot;django/forms/formsets/default.html&quot;</span></code> templates will be removed.</p></li>\n<li><p>The ability to pass <code class=\"docutils literal notranslate\"><span class=\"pre\">nulls_first=False</span></code> or <code class=\"docutils literal notranslate\"><span class=\"pre\">nulls_last=False</span></code> to\n<code class=\"docutils literal notranslate\"><span class=\"pre\">Expression.asc()</span></code> and <code class=\"docutils literal notranslate\"><span class=\"pre\">Expression.desc()</span></code> methods, and the <code class=\"docutils literal notranslate\"><span class=\"pre\">OrderBy</span></code>\nexpression will be removed.</p></li>\n</ul>\n</section>\n<section id=\"deprecation-removed-in-4-1\">\n<span id=\"id4\"></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>See the <a class=\"reference internal\" href=\"/pl/5.0/releases/3.2/#deprecated-features-3-2\"><span class=\"std std-ref\">Django 3.2 release notes</span></a> for more\ndetails on these changes.</p>\n<ul class=\"simple\">\n<li><p>Support for assigning objects which don’t support creating deep copies with\n<code class=\"docutils literal notranslate\"><span class=\"pre\">copy.deepcopy()</span></code> to class attributes in <code class=\"docutils literal notranslate\"><span class=\"pre\">TestCase.setUpTestData()</span></code> will\nbe removed.</p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">BaseCommand.requires_system_checks</span></code> won’t support boolean values.</p></li>\n<li><p>The <code class=\"docutils literal notranslate\"><span class=\"pre\">whitelist</span></code> argument and <code class=\"docutils literal notranslate\"><span class=\"pre\">domain_whitelist</span></code> attribute of\n<code class=\"docutils literal notranslate\"><span class=\"pre\">django.core.validators.EmailValidator</span></code> will be removed.</p></li>\n<li><p>The <code class=\"docutils literal notranslate\"><span class=\"pre\">default_app_config</span></code> module variable will be removed.</p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">TransactionTestCase.assertQuerysetEqual()</span></code> will no longer automatically\ncall <code class=\"docutils literal notranslate\"><span class=\"pre\">repr()</span></code> on a queryset when compared to string values.</p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">django.core.cache.backends.memcached.MemcachedCache</span></code> will be removed.</p></li>\n<li><p>Support for the pre-Django 3.2 format of messages used by\n<code class=\"docutils literal notranslate\"><span class=\"pre\">django.contrib.messages.storage.cookie.CookieStorage</span></code> will be removed.</p></li>\n</ul>\n</section>\n<section id=\"deprecation-removed-in-4-0\">\n<span id=\"id5\"></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>See the <a class=\"reference internal\" href=\"/pl/5.0/releases/3.0/#deprecated-features-3-0\"><span class=\"std std-ref\">Django 3.0 release notes</span></a> for more\ndetails on these changes.</p>\n<ul class=\"simple\">\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">django.utils.http.urlquote()</span></code>, <code class=\"docutils literal notranslate\"><span class=\"pre\">urlquote_plus()</span></code>, <code class=\"docutils literal notranslate\"><span class=\"pre\">urlunquote()</span></code>, and\n<code class=\"docutils literal notranslate\"><span class=\"pre\">urlunquote_plus()</span></code> will be removed.</p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">django.utils.encoding.force_text()</span></code> and <code class=\"docutils literal notranslate\"><span class=\"pre\">smart_text()</span></code> will be removed.</p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">django.utils.translation.ugettext()</span></code>, <code class=\"docutils literal notranslate\"><span class=\"pre\">ugettext_lazy()</span></code>,\n<code class=\"docutils literal notranslate\"><span class=\"pre\">ugettext_noop()</span></code>, <code class=\"docutils literal notranslate\"><span class=\"pre\">ungettext()</span></code>, and <code class=\"docutils literal notranslate\"><span class=\"pre\">ungettext_lazy()</span></code> will be\nremoved.</p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">django.views.i18n.set_language()</span></code> will no longer set the user language in\n<code class=\"docutils literal notranslate\"><span class=\"pre\">request.session</span></code> (key <code class=\"docutils literal notranslate\"><span class=\"pre\">django.utils.translation.LANGUAGE_SESSION_KEY</span></code>).</p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">alias=None</span></code> will be required in the signature of\n<code class=\"docutils literal notranslate\"><span class=\"pre\">django.db.models.Expression.get_group_by_cols()</span></code> subclasses.</p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">django.utils.text.unescape_entities()</span></code> will be removed.</p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">django.utils.http.is_safe_url()</span></code> will be removed.</p></li>\n</ul>\n<p>See the <a class=\"reference internal\" href=\"/pl/5.0/releases/3.1/#deprecated-features-3-1\"><span class=\"std std-ref\">Django 3.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\"><span class=\"pre\">PASSWORD_RESET_TIMEOUT_DAYS</span></code> setting will be removed.</p></li>\n<li><p>The undocumented usage of the <a class=\"reference internal\" href=\"/pl/5.0/ref/models/querysets/#std-fieldlookup-isnull\"><code class=\"xref std std-lookup docutils literal notranslate\"><span class=\"pre\">isnull</span></code></a> lookup with non-boolean values\nas the right-hand side will no longer be allowed.</p></li>\n<li><p>The <code class=\"docutils literal notranslate\"><span class=\"pre\">django.db.models.query_utils.InvalidQuery</span></code> exception class will be\nremoved.</p></li>\n<li><p>The <code class=\"docutils literal notranslate\"><span class=\"pre\">django-admin.py</span></code> entry point will be removed.</p></li>\n<li><p>The <code class=\"docutils literal notranslate\"><span class=\"pre\">HttpRequest.is_ajax()</span></code> method will be removed.</p></li>\n<li><p>Support for the pre-Django 3.1 encoding format of cookies values used by\n<code class=\"docutils literal notranslate\"><span class=\"pre\">django.contrib.messages.storage.cookie.CookieStorage</span></code> will be removed.</p></li>\n<li><p>Support for the pre-Django 3.1 password reset tokens in the admin site (that\nuse the SHA-1 hashing algorithm) will be removed.</p></li>\n<li><p>Support for the pre-Django 3.1 encoding format of sessions will be removed.</p></li>\n<li><p>Support for the pre-Django 3.1 <code class=\"docutils literal notranslate\"><span class=\"pre\">django.core.signing.Signer</span></code> signatures\n(encoded with the SHA-1 algorithm) will be removed.</p></li>\n<li><p>Support for the pre-Django 3.1 <code class=\"docutils literal notranslate\"><span class=\"pre\">django.core.signing.dumps()</span></code> signatures\n(encoded with the SHA-1 algorithm) in <code class=\"docutils literal notranslate\"><span class=\"pre\">django.core.signing.loads()</span></code> will be\nremoved.</p></li>\n<li><p>Support for the pre-Django 3.1 user sessions (that use the SHA-1 algorithm)\nwill be removed.</p></li>\n<li><p>The <code class=\"docutils literal notranslate\"><span class=\"pre\">get_response</span></code> argument for\n<code class=\"docutils literal notranslate\"><span class=\"pre\">django.utils.deprecation.MiddlewareMixin.__init__()</span></code> will be required and\nwon’t accept <code class=\"docutils literal notranslate\"><span class=\"pre\">None</span></code>.</p></li>\n<li><p>The <code class=\"docutils literal notranslate\"><span class=\"pre\">providing_args</span></code> argument for <code class=\"docutils literal notranslate\"><span class=\"pre\">django.dispatch.Signal</span></code> will be\nremoved.</p></li>\n<li><p>The <code class=\"docutils literal notranslate\"><span class=\"pre\">length</span></code> argument for <code class=\"docutils literal notranslate\"><span class=\"pre\">django.utils.crypto.get_random_string()</span></code> will\nbe required.</p></li>\n<li><p>The <code class=\"docutils literal notranslate\"><span class=\"pre\">list</span></code> message for <code class=\"docutils literal notranslate\"><span class=\"pre\">ModelMultipleChoiceField</span></code> will be removed.</p></li>\n<li><p>Support for passing raw column aliases to <code class=\"docutils literal notranslate\"><span class=\"pre\">QuerySet.order_by()</span></code> will be\nremoved.</p></li>\n<li><p>The model <code class=\"docutils literal notranslate\"><span class=\"pre\">NullBooleanField</span></code> will be removed. A stub field will remain for\ncompatibility with historical migrations.</p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">django.conf.urls.url()</span></code> will be removed.</p></li>\n<li><p>The model <code class=\"docutils literal notranslate\"><span class=\"pre\">django.contrib.postgres.fields.JSONField</span></code> will be removed. A\nstub field will remain for compatibility with historical migrations.</p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">django.contrib.postgres.forms.JSONField</span></code>,\n<code class=\"docutils literal notranslate\"><span class=\"pre\">django.contrib.postgres.fields.jsonb.KeyTransform</span></code>, and\n<code class=\"docutils literal notranslate\"><span class=\"pre\">django.contrib.postgres.fields.jsonb.KeyTextTransform</span></code> will be removed.</p></li>\n<li><p>The <code class=\"docutils literal notranslate\"><span class=\"pre\">{%</span> <span class=\"pre\">ifequal</span> <span class=\"pre\">%}</span></code> and <code class=\"docutils literal notranslate\"><span class=\"pre\">{%</span> <span class=\"pre\">ifnotequal</span> <span class=\"pre\">%}</span></code> template tags will be removed.</p></li>\n<li><p>The <code class=\"docutils literal notranslate\"><span class=\"pre\">DEFAULT_HASHING_ALGORITHM</span></code> transitional setting will be removed.</p></li>\n</ul>\n</section>\n<section id=\"deprecation-removed-in-3-1\">\n<span id=\"id6\"></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>See the <a class=\"reference internal\" href=\"/pl/5.0/releases/2.2/#deprecated-features-2-2\"><span class=\"std std-ref\">Django 2.2 release notes</span></a> for more\ndetails on these changes.</p>\n<ul class=\"simple\">\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">django.utils.timezone.FixedOffset</span></code> will be removed.</p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">django.core.paginator.QuerySetPaginator</span></code> will be removed.</p></li>\n<li><p>A model’s <code class=\"docutils literal notranslate\"><span class=\"pre\">Meta.ordering</span></code> will no longer affect <code class=\"docutils literal notranslate\"><span class=\"pre\">GROUP</span> <span class=\"pre\">BY</span></code> queries.</p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">django.contrib.postgres.fields.FloatRangeField</span></code> and\n<code class=\"docutils literal notranslate\"><span class=\"pre\">django.contrib.postgres.forms.FloatRangeField</span></code> will be removed.</p></li>\n<li><p>The <code class=\"docutils literal notranslate\"><span class=\"pre\">FILE_CHARSET</span></code> setting will be removed.</p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">django.contrib.staticfiles.storage.CachedStaticFilesStorage</span></code> will be\nremoved.</p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">RemoteUserBackend.configure_user()</span></code> will require <code class=\"docutils literal notranslate\"><span class=\"pre\">request</span></code> as the first\npositional argument.</p></li>\n<li><p>Support for <code class=\"docutils literal notranslate\"><span class=\"pre\">SimpleTestCase.allow_database_queries</span></code> and\n<code class=\"docutils literal notranslate\"><span class=\"pre\">TransactionTestCase.multi_db</span></code> will be removed.</p></li>\n</ul>\n</section>\n<section id=\"deprecation-removed-in-3-0\">\n<span id=\"id7\"></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>See the <a class=\"reference internal\" href=\"/pl/5.0/releases/2.0/#deprecated-features-2-0\"><span class=\"std std-ref\">Django 2.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\"><span class=\"pre\">django.db.backends.postgresql_psycopg2</span></code> module will be removed.</p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">django.shortcuts.render_to_response()</span></code> will be removed.</p></li>\n<li><p>The <code class=\"docutils literal notranslate\"><span class=\"pre\">DEFAULT_CONTENT_TYPE</span></code> setting will be removed.</p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">HttpRequest.xreadlines()</span></code> will be removed.</p></li>\n<li><p>Support for the <code class=\"docutils literal notranslate\"><span class=\"pre\">context</span></code> argument of <code class=\"docutils literal notranslate\"><span class=\"pre\">Field.from_db_value()</span></code> and\n<code class=\"docutils literal notranslate\"><span class=\"pre\">Expression.convert_value()</span></code> will be removed.</p></li>\n<li><p>The <code class=\"docutils literal notranslate\"><span class=\"pre\">field_name</span></code> keyword argument of <code class=\"docutils literal notranslate\"><span class=\"pre\">QuerySet.earliest()</span></code> and\n<code class=\"docutils literal notranslate\"><span class=\"pre\">latest()</span></code> will be removed.</p></li>\n</ul>\n<p>See the <a class=\"reference internal\" href=\"/pl/5.0/releases/2.1/#deprecated-features-2-1\"><span class=\"std std-ref\">Django 2.1 release notes</span></a> for more\ndetails on these changes.</p>\n<ul class=\"simple\">\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">django.contrib.gis.db.models.functions.ForceRHR</span></code> will be removed.</p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">django.utils.http.cookie_date()</span></code> will be removed.</p></li>\n<li><p>The <code class=\"docutils literal notranslate\"><span class=\"pre\">staticfiles</span></code> and <code class=\"docutils literal notranslate\"><span class=\"pre\">admin_static</span></code> template tag libraries will be\nremoved.</p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">django.contrib.staticfiles.templatetags.static()</span></code> will be removed.</p></li>\n<li><p>The shim to allow <code class=\"docutils literal notranslate\"><span class=\"pre\">InlineModelAdmin.has_add_permission()</span></code> to be defined\nwithout an <code class=\"docutils literal notranslate\"><span class=\"pre\">obj</span></code> argument will be removed.</p></li>\n</ul>\n</section>\n<section id=\"deprecation-removed-in-2-1\">\n<span id=\"id8\"></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>See the <a class=\"reference internal\" href=\"/pl/5.0/releases/1.11/#deprecated-features-1-11\"><span class=\"std std-ref\">Django 1.11 release notes</span></a> for more\ndetails on these changes.</p>\n<ul class=\"simple\">\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">contrib.auth.views.login()</span></code>, <code class=\"docutils literal notranslate\"><span class=\"pre\">logout()</span></code>, <code class=\"docutils literal notranslate\"><span class=\"pre\">password_change()</span></code>,\n<code class=\"docutils literal notranslate\"><span class=\"pre\">password_change_done()</span></code>, <code class=\"docutils literal notranslate\"><span class=\"pre\">password_reset()</span></code>, <code class=\"docutils literal notranslate\"><span class=\"pre\">password_reset_done()</span></code>,\n<code class=\"docutils literal notranslate\"><span class=\"pre\">password_reset_confirm()</span></code>, and <code class=\"docutils literal notranslate\"><span class=\"pre\">password_reset_complete()</span></code> will be\nremoved.</p></li>\n<li><p>The <code class=\"docutils literal notranslate\"><span class=\"pre\">extra_context</span></code> parameter of <code class=\"docutils literal notranslate\"><span class=\"pre\">contrib.auth.views.logout_then_login()</span></code>\nwill be removed.</p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">django.test.runner.setup_databases()</span></code> will be removed.</p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">django.utils.translation.string_concat()</span></code> will be removed.</p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">django.core.cache.backends.memcached.PyLibMCCache</span></code> will no longer support\npassing <code class=\"docutils literal notranslate\"><span class=\"pre\">pylibmc</span></code> behavior settings as top-level attributes of <code class=\"docutils literal notranslate\"><span class=\"pre\">OPTIONS</span></code>.</p></li>\n<li><p>The <code class=\"docutils literal notranslate\"><span class=\"pre\">host</span></code> parameter of <code class=\"docutils literal notranslate\"><span class=\"pre\">django.utils.http.is_safe_url()</span></code> will be\nremoved.</p></li>\n<li><p>Silencing of exceptions raised while rendering the <code class=\"docutils literal notranslate\"><span class=\"pre\">{%</span> <span class=\"pre\">include</span> <span class=\"pre\">%}</span></code> template\ntag will be removed.</p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">DatabaseIntrospection.get_indexes()</span></code> will be removed.</p></li>\n<li><p>The <code class=\"docutils literal notranslate\"><span class=\"pre\">authenticate()</span></code> method of authentication backends will require\n<code class=\"docutils literal notranslate\"><span class=\"pre\">request</span></code> as the first positional argument.</p></li>\n<li><p>The <code class=\"docutils literal notranslate\"><span class=\"pre\">django.db.models.permalink()</span></code> decorator will be removed.</p></li>\n<li><p>The <code class=\"docutils literal notranslate\"><span class=\"pre\">USE_ETAGS</span></code> setting will be removed. <code class=\"docutils literal notranslate\"><span class=\"pre\">CommonMiddleware</span></code> and\n<code class=\"docutils literal notranslate\"><span class=\"pre\">django.utils.cache.patch_response_headers()</span></code> will no longer set ETags.</p></li>\n<li><p>The <code class=\"docutils literal notranslate\"><span class=\"pre\">Model._meta.has_auto_field</span></code> attribute will be removed.</p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">url()</span></code>»s support for inline flags in regular expression groups (<code class=\"docutils literal notranslate\"><span class=\"pre\">(?i)</span></code>,\n<code class=\"docutils literal notranslate\"><span class=\"pre\">(?L)</span></code>, <code class=\"docutils literal notranslate\"><span class=\"pre\">(?m)</span></code>, <code class=\"docutils literal notranslate\"><span class=\"pre\">(?s)</span></code>, and <code class=\"docutils literal notranslate\"><span class=\"pre\">(?u)</span></code>) will be removed.</p></li>\n<li><p>Support for <code class=\"docutils literal notranslate\"><span class=\"pre\">Widget.render()</span></code> methods without the <code class=\"docutils literal notranslate\"><span class=\"pre\">renderer</span></code> argument\nwill be removed.</p></li>\n</ul>\n</section>\n<section id=\"deprecation-removed-in-2-0\">\n<span id=\"id9\"></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>See the <a class=\"reference internal\" href=\"/pl/5.0/releases/1.9/#deprecated-features-1-9\"><span class=\"std std-ref\">Django 1.9 release notes</span></a> for more\ndetails on these changes.</p>\n<ul class=\"simple\">\n<li><p>The <code class=\"docutils literal notranslate\"><span class=\"pre\">weak</span></code> argument to <code class=\"docutils literal notranslate\"><span class=\"pre\">django.dispatch.signals.Signal.disconnect()</span></code> will\nbe removed.</p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">django.db.backends.base.BaseDatabaseOperations.check_aggregate_support()</span></code>\nwill be removed.</p></li>\n<li><p>The <code class=\"docutils literal notranslate\"><span class=\"pre\">django.forms.extras</span></code> package will be removed.</p></li>\n<li><p>The <code class=\"docutils literal notranslate\"><span class=\"pre\">assignment_tag</span></code> helper will be removed.</p></li>\n<li><p>The <code class=\"docutils literal notranslate\"><span class=\"pre\">host</span></code> argument to <code class=\"docutils literal notranslate\"><span class=\"pre\">assertsRedirects</span></code> will be removed. The\ncompatibility layer which allows absolute URLs to be considered equal to\nrelative ones when the path is identical will also be removed.</p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">Field.rel</span></code> will be removed.</p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">Field.remote_field.to</span></code> attribute will be removed.</p></li>\n<li><p>The <code class=\"docutils literal notranslate\"><span class=\"pre\">on_delete</span></code> argument for <code class=\"docutils literal notranslate\"><span class=\"pre\">ForeignKey</span></code> and <code class=\"docutils literal notranslate\"><span class=\"pre\">OneToOneField</span></code>  will be\nrequired.</p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">django.db.models.fields.add_lazy_relation()</span></code> will be removed.</p></li>\n<li><p>When time zone support is enabled, database backends that don’t support time\nzones won’t convert aware datetimes to naive values in UTC anymore when such\nvalues are passed as parameters to SQL queries executed outside of the ORM,\ne.g. with <code class=\"docutils literal notranslate\"><span class=\"pre\">cursor.execute()</span></code>.</p></li>\n<li><p>The <code class=\"docutils literal notranslate\"><span class=\"pre\">django.contrib.auth.tests.utils.skipIfCustomUser()</span></code> decorator will be\nremoved.</p></li>\n<li><p>The <code class=\"docutils literal notranslate\"><span class=\"pre\">GeoManager</span></code> and <code class=\"docutils literal notranslate\"><span class=\"pre\">GeoQuerySet</span></code> classes will be removed.</p></li>\n<li><p>The <code class=\"docutils literal notranslate\"><span class=\"pre\">django.contrib.gis.geoip</span></code> module will be removed.</p></li>\n<li><p>The <code class=\"docutils literal notranslate\"><span class=\"pre\">supports_recursion</span></code> check for template loaders will be removed from:</p>\n<ul>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">django.template.engine.Engine.find_template()</span></code></p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">django.template.loader_tags.ExtendsNode.find_template()</span></code></p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">django.template.loaders.base.Loader.supports_recursion()</span></code></p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">django.template.loaders.cached.Loader.supports_recursion()</span></code></p></li>\n</ul>\n</li>\n<li><p>The <code class=\"docutils literal notranslate\"><span class=\"pre\">load_template()</span></code> and <code class=\"docutils literal notranslate\"><span class=\"pre\">load_template_sources()</span></code> template loader\nmethods will be removed.</p></li>\n<li><p>The <code class=\"docutils literal notranslate\"><span class=\"pre\">template_dirs</span></code> argument for template loaders will be removed:</p>\n<ul>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">django.template.loaders.base.Loader.get_template()</span></code></p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">django.template.loaders.cached.Loader.cache_key()</span></code></p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">django.template.loaders.cached.Loader.get_template()</span></code></p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">django.template.loaders.cached.Loader.get_template_sources()</span></code></p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">django.template.loaders.filesystem.Loader.get_template_sources()</span></code></p></li>\n</ul>\n</li>\n<li><p>The <code class=\"docutils literal notranslate\"><span class=\"pre\">django.template.loaders.base.Loader.__call__()</span></code> method will be\nremoved.</p></li>\n<li><p>Support for custom error views with a single positional parameter will be\ndropped.</p></li>\n<li><p>The <code class=\"docutils literal notranslate\"><span class=\"pre\">mime_type</span></code> attribute of <code class=\"docutils literal notranslate\"><span class=\"pre\">django.utils.feedgenerator.Atom1Feed</span></code> and\n<code class=\"docutils literal notranslate\"><span class=\"pre\">django.utils.feedgenerator.RssFeed</span></code> will be removed in favor of\n<code class=\"docutils literal notranslate\"><span class=\"pre\">content_type</span></code>.</p></li>\n<li><p>The <code class=\"docutils literal notranslate\"><span class=\"pre\">app_name</span></code> argument to <code class=\"docutils literal notranslate\"><span class=\"pre\">django.conf.urls.include()</span></code> will be\nremoved.</p></li>\n<li><p>Support for passing a 3-tuple as the first argument to <code class=\"docutils literal notranslate\"><span class=\"pre\">include()</span></code> will\nbe removed.</p></li>\n<li><p>Support for setting a URL instance namespace without an application\nnamespace will be removed.</p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">Field._get_val_from_obj()</span></code> will be removed in favor of\n<code class=\"docutils literal notranslate\"><span class=\"pre\">Field.value_from_object()</span></code>.</p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">django.template.loaders.eggs.Loader</span></code> will be removed.</p></li>\n<li><p>The <code class=\"docutils literal notranslate\"><span class=\"pre\">current_app</span></code> parameter to the <code class=\"docutils literal notranslate\"><span class=\"pre\">contrib.auth</span></code> views will be removed.</p></li>\n<li><p>The <code class=\"docutils literal notranslate\"><span class=\"pre\">callable_obj</span></code> keyword argument to\n<code class=\"docutils literal notranslate\"><span class=\"pre\">SimpleTestCase.assertRaisesMessage()</span></code> will be removed.</p></li>\n<li><p>Support for the <code class=\"docutils literal notranslate\"><span class=\"pre\">allow_tags</span></code> attribute on <code class=\"docutils literal notranslate\"><span class=\"pre\">ModelAdmin</span></code> methods will be\nremoved.</p></li>\n<li><p>The <code class=\"docutils literal notranslate\"><span class=\"pre\">enclosure</span></code> keyword argument to <code class=\"docutils literal notranslate\"><span class=\"pre\">SyndicationFeed.add_item()</span></code> will be\nremoved.</p></li>\n<li><p>The <code class=\"docutils literal notranslate\"><span class=\"pre\">django.template.loader.LoaderOrigin</span></code> and\n<code class=\"docutils literal notranslate\"><span class=\"pre\">django.template.base.StringOrigin</span></code> aliases for\n<code class=\"docutils literal notranslate\"><span class=\"pre\">django.template.base.Origin</span></code> will be removed.</p></li>\n</ul>\n<p>See the <a class=\"reference internal\" href=\"/pl/5.0/releases/1.10/#deprecated-features-1-10\"><span class=\"std std-ref\">Django 1.10 release notes</span></a> for more\ndetails on these changes.</p>\n<ul class=\"simple\">\n<li><p>The <code class=\"docutils literal notranslate\"><span class=\"pre\">makemigrations</span> <span class=\"pre\">--exit</span></code> option will be removed.</p></li>\n<li><p>Support for direct assignment to a reverse foreign key or many-to-many\nrelation will be removed.</p></li>\n<li><p>The <code class=\"docutils literal notranslate\"><span class=\"pre\">get_srid()</span></code> and <code class=\"docutils literal notranslate\"><span class=\"pre\">set_srid()</span></code> methods of\n<code class=\"docutils literal notranslate\"><span class=\"pre\">django.contrib.gis.geos.GEOSGeometry</span></code> will be removed.</p></li>\n<li><p>The <code class=\"docutils literal notranslate\"><span class=\"pre\">get_x()</span></code>, <code class=\"docutils literal notranslate\"><span class=\"pre\">set_x()</span></code>, <code class=\"docutils literal notranslate\"><span class=\"pre\">get_y()</span></code>, <code class=\"docutils literal notranslate\"><span class=\"pre\">set_y()</span></code>, <code class=\"docutils literal notranslate\"><span class=\"pre\">get_z()</span></code>, and\n<code class=\"docutils literal notranslate\"><span class=\"pre\">set_z()</span></code> methods of <code class=\"docutils literal notranslate\"><span class=\"pre\">django.contrib.gis.geos.Point</span></code> will be removed.</p></li>\n<li><p>The <code class=\"docutils literal notranslate\"><span class=\"pre\">get_coords()</span></code> and <code class=\"docutils literal notranslate\"><span class=\"pre\">set_coords()</span></code> methods of\n<code class=\"docutils literal notranslate\"><span class=\"pre\">django.contrib.gis.geos.Point</span></code> will be removed.</p></li>\n<li><p>The <code class=\"docutils literal notranslate\"><span class=\"pre\">cascaded_union</span></code> property of <code class=\"docutils literal notranslate\"><span class=\"pre\">django.contrib.gis.geos.MultiPolygon</span></code>\nwill be removed.</p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">django.utils.functional.allow_lazy()</span></code> will be removed.</p></li>\n<li><p>The <code class=\"docutils literal notranslate\"><span class=\"pre\">shell</span> <span class=\"pre\">--plain</span></code> option will be removed.</p></li>\n<li><p>The <code class=\"docutils literal notranslate\"><span class=\"pre\">django.core.urlresolvers</span></code> module will be removed.</p></li>\n<li><p>The model <code class=\"docutils literal notranslate\"><span class=\"pre\">CommaSeparatedIntegerField</span></code> will be removed. A stub field will\nremain for compatibility with historical migrations.</p></li>\n<li><p>Support for the template <code class=\"docutils literal notranslate\"><span class=\"pre\">Context.has_key()</span></code> method will be removed.</p></li>\n<li><p>Support for the <code class=\"docutils literal notranslate\"><span class=\"pre\">django.core.files.storage.Storage.accessed_time()</span></code>,\n<code class=\"docutils literal notranslate\"><span class=\"pre\">created_time()</span></code>, and <code class=\"docutils literal notranslate\"><span class=\"pre\">modified_time()</span></code> methods will be removed.</p></li>\n<li><p>Support for query lookups using the model name when\n<code class=\"docutils literal notranslate\"><span class=\"pre\">Meta.default_related_name</span></code> is set will be removed.</p></li>\n<li><p>The <code class=\"docutils literal notranslate\"><span class=\"pre\">__search</span></code> query lookup and the\n<code class=\"docutils literal notranslate\"><span class=\"pre\">DatabaseOperations.fulltext_search_sql()</span></code> method will be removed.</p></li>\n<li><p>The shim for supporting custom related manager classes without a\n<code class=\"docutils literal notranslate\"><span class=\"pre\">_apply_rel_filters()</span></code> method will be removed.</p></li>\n<li><p>Using <code class=\"docutils literal notranslate\"><span class=\"pre\">User.is_authenticated()</span></code> and <code class=\"docutils literal notranslate\"><span class=\"pre\">User.is_anonymous()</span></code> as methods\nwill no longer be supported.</p></li>\n<li><p>The private attribute <code class=\"docutils literal notranslate\"><span class=\"pre\">virtual_fields</span></code> of <code class=\"docutils literal notranslate\"><span class=\"pre\">Model._meta</span></code> will be removed.</p></li>\n<li><p>The private keyword arguments <code class=\"docutils literal notranslate\"><span class=\"pre\">virtual_only</span></code> in\n<code class=\"docutils literal notranslate\"><span class=\"pre\">Field.contribute_to_class()</span></code> and <code class=\"docutils literal notranslate\"><span class=\"pre\">virtual</span></code> in\n<code class=\"docutils literal notranslate\"><span class=\"pre\">Model._meta.add_field()</span></code> will be removed.</p></li>\n<li><p>The <code class=\"docutils literal notranslate\"><span class=\"pre\">javascript_catalog()</span></code> and <code class=\"docutils literal notranslate\"><span class=\"pre\">json_catalog()</span></code> views will be removed.</p></li>\n<li><p>The <code class=\"docutils literal notranslate\"><span class=\"pre\">django.contrib.gis.utils.precision_wkt()</span></code> function will be removed.</p></li>\n<li><p>In multi-table inheritance, implicit promotion of a <code class=\"docutils literal notranslate\"><span class=\"pre\">OneToOneField</span></code> to a\n<code class=\"docutils literal notranslate\"><span class=\"pre\">parent_link</span></code> will be removed.</p></li>\n<li><p>Support for <code class=\"docutils literal notranslate\"><span class=\"pre\">Widget._format_value()</span></code> will be removed.</p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">FileField</span></code> methods <code class=\"docutils literal notranslate\"><span class=\"pre\">get_directory_name()</span></code> and <code class=\"docutils literal notranslate\"><span class=\"pre\">get_filename()</span></code> will be\nremoved.</p></li>\n<li><p>The <code class=\"docutils literal notranslate\"><span class=\"pre\">mark_for_escaping()</span></code> function and the classes it uses: <code class=\"docutils literal notranslate\"><span class=\"pre\">EscapeData</span></code>,\n<code class=\"docutils literal notranslate\"><span class=\"pre\">EscapeBytes</span></code>, <code class=\"docutils literal notranslate\"><span class=\"pre\">EscapeText</span></code>, <code class=\"docutils literal notranslate\"><span class=\"pre\">EscapeString</span></code>, and <code class=\"docutils literal notranslate\"><span class=\"pre\">EscapeUnicode</span></code> will\nbe removed.</p></li>\n<li><p>The <code class=\"docutils literal notranslate\"><span class=\"pre\">escape</span></code> filter will change to use\n<code class=\"docutils literal notranslate\"><span class=\"pre\">django.utils.html.conditional_escape()</span></code>.</p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">Manager.use_for_related_fields</span></code> will be removed.</p></li>\n<li><p>Model <code class=\"docutils literal notranslate\"><span class=\"pre\">Manager</span></code> inheritance will follow MRO inheritance rules and the\n<code class=\"docutils literal notranslate\"><span class=\"pre\">Meta.manager_inheritance_from_future</span></code> to opt-in to this behavior will be\nremoved.</p></li>\n<li><p>Support for old-style middleware using <code class=\"docutils literal notranslate\"><span class=\"pre\">settings.MIDDLEWARE_CLASSES</span></code> will\nbe removed.</p></li>\n</ul>\n</section>\n<section id=\"deprecation-removed-in-1-10\">\n<span id=\"id10\"></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>See the <a class=\"reference internal\" href=\"/pl/5.0/releases/1.8/#deprecated-features-1-8\"><span class=\"std std-ref\">Django 1.8 release notes</span></a> for more\ndetails on these changes.</p>\n<ul class=\"simple\">\n<li><p>Support for calling a <code class=\"docutils literal notranslate\"><span class=\"pre\">SQLCompiler</span></code> directly as an alias for calling its\n<code class=\"docutils literal notranslate\"><span class=\"pre\">quote_name_unless_alias</span></code> method will be removed.</p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">cycle</span></code> and <code class=\"docutils literal notranslate\"><span class=\"pre\">firstof</span></code> template tags will be removed from the <code class=\"docutils literal notranslate\"><span class=\"pre\">future</span></code>\ntemplate tag library (used during the 1.6/1.7 deprecation period).</p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">django.conf.urls.patterns()</span></code> will be removed.</p></li>\n<li><p>Support for the <code class=\"docutils literal notranslate\"><span class=\"pre\">prefix</span></code> argument to\n<code class=\"docutils literal notranslate\"><span class=\"pre\">django.conf.urls.i18n.i18n_patterns()</span></code> will be removed.</p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">SimpleTestCase.urls</span></code> will be removed.</p></li>\n<li><p>Using an incorrect count of unpacked values in the <code class=\"docutils literal notranslate\"><span class=\"pre\">for</span></code> template tag\nwill raise an exception rather than fail silently.</p></li>\n<li><p>The ability to reverse URLs using a dotted Python path will be removed.</p></li>\n<li><p>The ability to use a dotted Python path for the <code class=\"docutils literal notranslate\"><span class=\"pre\">LOGIN_URL</span></code> and\n<code class=\"docutils literal notranslate\"><span class=\"pre\">LOGIN_REDIRECT_URL</span></code> settings will be removed.</p></li>\n<li><p>Support for <a class=\"reference external\" href=\"https://docs.python.org/3/library/optparse.html#module-optparse\" title=\"(w Python v3.14)\"><code class=\"xref py py-mod docutils literal notranslate\"><span class=\"pre\">optparse</span></code></a> will be dropped for custom management commands\n(replaced by <a class=\"reference external\" href=\"https://docs.python.org/3/library/argparse.html#module-argparse\" title=\"(w Python v3.14)\"><code class=\"xref py py-mod docutils literal notranslate\"><span class=\"pre\">argparse</span></code></a>).</p></li>\n<li><p>The class <code class=\"docutils literal notranslate\"><span class=\"pre\">django.core.management.NoArgsCommand</span></code> will be removed. Use\n<a class=\"reference internal\" href=\"/pl/5.0/howto/custom-management-commands/#django.core.management.BaseCommand\" title=\"django.core.management.BaseCommand\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">BaseCommand</span></code></a> instead, which takes no arguments\nby default.</p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">django.core.context_processors</span></code> module will be removed.</p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">django.db.models.sql.aggregates</span></code> module will be removed.</p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">django.contrib.gis.db.models.sql.aggregates</span></code> module will be removed.</p></li>\n<li><p>The following methods and properties of <code class=\"docutils literal notranslate\"><span class=\"pre\">django.db.sql.query.Query</span></code> will\nbe removed:</p>\n<ul>\n<li><p>Properties: <code class=\"docutils literal notranslate\"><span class=\"pre\">aggregates</span></code> and <code class=\"docutils literal notranslate\"><span class=\"pre\">aggregate_select</span></code></p></li>\n<li><p>Methods: <code class=\"docutils literal notranslate\"><span class=\"pre\">add_aggregate</span></code>, <code class=\"docutils literal notranslate\"><span class=\"pre\">set_aggregate_mask</span></code>, and\n<code class=\"docutils literal notranslate\"><span class=\"pre\">append_aggregate_mask</span></code>.</p></li>\n</ul>\n</li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">django.template.resolve_variable</span></code> will be removed.</p></li>\n<li><p>The following private APIs will be removed from\n<a class=\"reference internal\" href=\"/pl/5.0/ref/models/meta/#django.db.models.options.Options\" title=\"django.db.models.options.Options\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">django.db.models.options.Options</span></code></a> (<code class=\"docutils literal notranslate\"><span class=\"pre\">Model._meta</span></code>):</p>\n<ul>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">get_field_by_name()</span></code></p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">get_all_field_names()</span></code></p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">get_fields_with_model()</span></code></p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">get_concrete_fields_with_model()</span></code></p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">get_m2m_with_model()</span></code></p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">get_all_related_objects()</span></code></p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">get_all_related_objects_with_model()</span></code></p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">get_all_related_many_to_many_objects()</span></code></p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">get_all_related_m2m_objects_with_model()</span></code></p></li>\n</ul>\n</li>\n<li><p>The <code class=\"docutils literal notranslate\"><span class=\"pre\">error_message</span></code> argument of <code class=\"docutils literal notranslate\"><span class=\"pre\">django.forms.RegexField</span></code> will be removed.</p></li>\n<li><p>The <code class=\"docutils literal notranslate\"><span class=\"pre\">unordered_list</span></code> filter will no longer support old style lists.</p></li>\n<li><p>Support for string <code class=\"docutils literal notranslate\"><span class=\"pre\">view</span></code> arguments to <code class=\"docutils literal notranslate\"><span class=\"pre\">url()</span></code> will be removed.</p></li>\n<li><p>The backward compatible shim  to rename <code class=\"docutils literal notranslate\"><span class=\"pre\">django.forms.Form._has_changed()</span></code>\nto <code class=\"docutils literal notranslate\"><span class=\"pre\">has_changed()</span></code> will be removed.</p></li>\n<li><p>The <code class=\"docutils literal notranslate\"><span class=\"pre\">removetags</span></code> template filter will be removed.</p></li>\n<li><p>The <code class=\"docutils literal notranslate\"><span class=\"pre\">remove_tags()</span></code> and <code class=\"docutils literal notranslate\"><span class=\"pre\">strip_entities()</span></code> functions in\n<code class=\"docutils literal notranslate\"><span class=\"pre\">django.utils.html</span></code> will be removed.</p></li>\n<li><p>The <code class=\"docutils literal notranslate\"><span class=\"pre\">is_admin_site</span></code> argument to\n<code class=\"docutils literal notranslate\"><span class=\"pre\">django.contrib.auth.views.password_reset()</span></code> will be removed.</p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">django.db.models.field.subclassing.SubfieldBase</span></code> will be removed.</p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">django.utils.checksums</span></code> will be removed; its functionality is included\nin <code class=\"docutils literal notranslate\"><span class=\"pre\">django-localflavor</span></code> 1.1+.</p></li>\n<li><p>The <code class=\"docutils literal notranslate\"><span class=\"pre\">original_content_type_id</span></code> attribute on\n<code class=\"docutils literal notranslate\"><span class=\"pre\">django.contrib.admin.helpers.InlineAdminForm</span></code> will be removed.</p></li>\n<li><p>The backwards compatibility shim to allow <code class=\"docutils literal notranslate\"><span class=\"pre\">FormMixin.get_form()</span></code> to be\ndefined with no default value for its <code class=\"docutils literal notranslate\"><span class=\"pre\">form_class</span></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\"><span class=\"pre\">ALLOWED_INCLUDE_ROOTS</span></code></p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">TEMPLATE_CONTEXT_PROCESSORS</span></code></p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">TEMPLATE_DEBUG</span></code></p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">TEMPLATE_DIRS</span></code></p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">TEMPLATE_LOADERS</span></code></p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">TEMPLATE_STRING_IF_INVALID</span></code></p></li>\n</ul>\n</li>\n<li><p>The backwards compatibility alias <code class=\"docutils literal notranslate\"><span class=\"pre\">django.template.loader.BaseLoader</span></code> will\nbe removed.</p></li>\n<li><p>Django template objects returned by\n<a class=\"reference internal\" href=\"/pl/5.0/topics/templates/#django.template.loader.get_template\" title=\"django.template.loader.get_template\"><code class=\"xref py py-func docutils literal notranslate\"><span class=\"pre\">get_template()</span></code></a> and\n<a class=\"reference internal\" href=\"/pl/5.0/topics/templates/#django.template.loader.select_template\" title=\"django.template.loader.select_template\"><code class=\"xref py py-func docutils literal notranslate\"><span class=\"pre\">select_template()</span></code></a> won’t accept a\n<a class=\"reference internal\" href=\"/pl/5.0/ref/templates/api/#django.template.Context\" title=\"django.template.Context\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">Context</span></code></a> in their\n<a class=\"reference internal\" href=\"/pl/5.0/topics/templates/#django.template.backends.base.Template.render\" title=\"django.template.backends.base.Template.render\"><code class=\"xref py py-meth docutils literal notranslate\"><span class=\"pre\">render()</span></code></a> method anymore.</p></li>\n<li><p><a class=\"reference internal\" href=\"/pl/5.0/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=\"(w Python v3.14)\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">dict</span></code></a> and backend-dependent template objects instead of\n<a class=\"reference internal\" href=\"/pl/5.0/ref/templates/api/#django.template.Context\" title=\"django.template.Context\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">Context</span></code></a> and <a class=\"reference internal\" href=\"/pl/5.0/ref/templates/api/#django.template.Template\" title=\"django.template.Template\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">Template</span></code></a>\nrespectively.</p></li>\n<li><p>The <code class=\"docutils literal notranslate\"><span class=\"pre\">current_app</span></code> parameter for the following function and classes will be\nremoved:</p>\n<ul>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">django.shortcuts.render()</span></code></p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">django.template.Context()</span></code></p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">django.template.RequestContext()</span></code></p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">django.template.response.TemplateResponse()</span></code></p></li>\n</ul>\n</li>\n<li><p>The <code class=\"docutils literal notranslate\"><span class=\"pre\">dictionary</span></code> and <code class=\"docutils literal notranslate\"><span class=\"pre\">context_instance</span></code> parameters for the following\nfunctions will be removed:</p>\n<ul>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">django.shortcuts.render()</span></code></p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">django.shortcuts.render_to_response()</span></code></p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">django.template.loader.render_to_string()</span></code></p></li>\n</ul>\n</li>\n<li><p>The <code class=\"docutils literal notranslate\"><span class=\"pre\">dirs</span></code> parameter for the following functions will be removed:</p>\n<ul>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">django.template.loader.get_template()</span></code></p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">django.template.loader.select_template()</span></code></p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">django.shortcuts.render()</span></code></p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">django.shortcuts.render_to_response()</span></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\"><span class=\"pre\">'django.contrib.auth.middleware.SessionAuthenticationMiddleware'</span></code> is in\n<code class=\"docutils literal notranslate\"><span class=\"pre\">MIDDLEWARE_CLASSES</span></code>.</p></li>\n<li><p>Private attribute <code class=\"docutils literal notranslate\"><span class=\"pre\">django.db.models.Field.related</span></code> will be removed.</p></li>\n<li><p>The <code class=\"docutils literal notranslate\"><span class=\"pre\">--list</span></code> option of the <code class=\"docutils literal notranslate\"><span class=\"pre\">migrate</span></code> management command will be removed.</p></li>\n<li><p>The <code class=\"docutils literal notranslate\"><span class=\"pre\">ssi</span></code> template tag will be removed.</p></li>\n<li><p>Support for the <code class=\"docutils literal notranslate\"><span class=\"pre\">=</span></code> comparison operator in the <code class=\"docutils literal notranslate\"><span class=\"pre\">if</span></code> template tag will be\nremoved.</p></li>\n<li><p>The backwards compatibility shims to allow <code class=\"docutils literal notranslate\"><span class=\"pre\">Storage.get_available_name()</span></code>\nand <code class=\"docutils literal notranslate\"><span class=\"pre\">Storage.save()</span></code> to be defined without a <code class=\"docutils literal notranslate\"><span class=\"pre\">max_length</span></code> argument will\nbe removed.</p></li>\n<li><p>Support for the legacy <code class=\"docutils literal notranslate\"><span class=\"pre\">%(&lt;foo&gt;)s</span></code> syntax in <code class=\"docutils literal notranslate\"><span class=\"pre\">ModelFormMixin.success_url</span></code>\nwill be removed.</p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">GeoQuerySet</span></code> aggregate methods <code class=\"docutils literal notranslate\"><span class=\"pre\">collect()</span></code>, <code class=\"docutils literal notranslate\"><span class=\"pre\">extent()</span></code>, <code class=\"docutils literal notranslate\"><span class=\"pre\">extent3d()</span></code>,\n<code class=\"docutils literal notranslate\"><span class=\"pre\">make_line()</span></code>, and <code class=\"docutils literal notranslate\"><span class=\"pre\">unionagg()</span></code> will be removed.</p></li>\n<li><p>Ability to specify <code class=\"docutils literal notranslate\"><span class=\"pre\">ContentType.name</span></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\"><span class=\"pre\">allow_migrate</span></code> will be removed. It changed\nfrom <code class=\"docutils literal notranslate\"><span class=\"pre\">allow_migrate(self,</span> <span class=\"pre\">db,</span> <span class=\"pre\">model)</span></code> to\n<code class=\"docutils literal notranslate\"><span class=\"pre\">allow_migrate(self,</span> <span class=\"pre\">db,</span> <span class=\"pre\">app_label,</span> <span class=\"pre\">model_name=None,</span> <span class=\"pre\">**hints)</span></code>.</p></li>\n<li><p>Support for the syntax of <code class=\"docutils literal notranslate\"><span class=\"pre\">{%</span> <span class=\"pre\">cycle</span> <span class=\"pre\">%}</span></code> that uses comma-separated arguments\nwill be removed.</p></li>\n<li><p>The warning that <a class=\"reference internal\" href=\"/pl/5.0/topics/signing/#django.core.signing.Signer\" title=\"django.core.signing.Signer\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">Signer</span></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=\"id11\"></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=\"/pl/5.0/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\"><span class=\"pre\">django.utils.dictconfig</span></code> will be removed.</p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">django.utils.importlib</span></code> will be removed.</p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">django.utils.tzinfo</span></code> will be removed.</p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">django.utils.unittest</span></code> will be removed.</p></li>\n<li><p>The <code class=\"docutils literal notranslate\"><span class=\"pre\">syncdb</span></code> command will be removed.</p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">django.db.models.signals.pre_syncdb</span></code> and\n<code class=\"docutils literal notranslate\"><span class=\"pre\">django.db.models.signals.post_syncdb</span></code> will be removed.</p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">allow_syncdb</span></code> on database routers will no longer automatically become\n<code class=\"docutils literal notranslate\"><span class=\"pre\">allow_migrate</span></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\"><span class=\"pre\">--run-syncdb</span></code> option to\n<code class=\"docutils literal notranslate\"><span class=\"pre\">migrate</span></code>.</p></li>\n<li><p>The SQL management commands for apps without migrations, <code class=\"docutils literal notranslate\"><span class=\"pre\">sql</span></code>, <code class=\"docutils literal notranslate\"><span class=\"pre\">sqlall</span></code>,\n<code class=\"docutils literal notranslate\"><span class=\"pre\">sqlclear</span></code>, <code class=\"docutils literal notranslate\"><span class=\"pre\">sqldropindexes</span></code>, and <code class=\"docutils literal notranslate\"><span class=\"pre\">sqlindexes</span></code>, will be removed.</p></li>\n<li><p>Support for automatic loading of <code class=\"docutils literal notranslate\"><span class=\"pre\">initial_data</span></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=\"/pl/5.0/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\"><span class=\"pre\">app_label</span></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\"><span class=\"pre\">IPAddressField</span></code> will be removed. A stub field will\nremain for compatibility with historical migrations.</p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">AppCommand.handle_app()</span></code> will no longer be supported.</p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">RequestSite</span></code> and <code class=\"docutils literal notranslate\"><span class=\"pre\">get_current_site()</span></code> will no longer be importable from\n<code class=\"docutils literal notranslate\"><span class=\"pre\">django.contrib.sites.models</span></code>.</p></li>\n<li><p>FastCGI support via the <code class=\"docutils literal notranslate\"><span class=\"pre\">runfcgi</span></code> management command will be\nremoved. Please deploy your project using WSGI.</p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">django.utils.datastructures.SortedDict</span></code> will be removed. Use\n<a class=\"reference external\" href=\"https://docs.python.org/3/library/collections.html#collections.OrderedDict\" title=\"(w Python v3.14)\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">collections.OrderedDict</span></code></a> from the Python standard library instead.</p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">ModelAdmin.declared_fieldsets</span></code> will be removed.</p></li>\n<li><p>Instances of <code class=\"docutils literal notranslate\"><span class=\"pre\">util.py</span></code> in the Django codebase have been renamed to\n<code class=\"docutils literal notranslate\"><span class=\"pre\">utils.py</span></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\"><span class=\"pre\">django.contrib.admin.util</span></code></p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">django.contrib.gis.db.backends.util</span></code></p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">django.db.backends.util</span></code></p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">django.forms.util</span></code></p></li>\n</ul>\n</li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">ModelAdmin.get_formsets</span></code> will be removed.</p></li>\n<li><p>The backward compatibility shim introduced to rename the\n<code class=\"docutils literal notranslate\"><span class=\"pre\">BaseMemcachedCache._get_memcache_timeout()</span></code> method to\n<code class=\"docutils literal notranslate\"><span class=\"pre\">get_backend_timeout()</span></code> will be removed.</p></li>\n<li><p>The <code class=\"docutils literal notranslate\"><span class=\"pre\">--natural</span></code> and <code class=\"docutils literal notranslate\"><span class=\"pre\">-n</span></code> options for <a class=\"reference internal\" href=\"/pl/5.0/ref/django-admin/#django-admin-dumpdata\"><code class=\"xref std std-djadmin docutils literal notranslate\"><span class=\"pre\">dumpdata</span></code></a> will be removed.</p></li>\n<li><p>The <code class=\"docutils literal notranslate\"><span class=\"pre\">use_natural_keys</span></code> argument for <code class=\"docutils literal notranslate\"><span class=\"pre\">serializers.serialize()</span></code> will be\nremoved.</p></li>\n<li><p>Private API <code class=\"docutils literal notranslate\"><span class=\"pre\">django.forms.forms.get_declared_fields()</span></code> will be removed.</p></li>\n<li><p>The ability to use a <code class=\"docutils literal notranslate\"><span class=\"pre\">SplitDateTimeWidget</span></code> with <code class=\"docutils literal notranslate\"><span class=\"pre\">DateTimeField</span></code> will be\nremoved.</p></li>\n<li><p>The <code class=\"docutils literal notranslate\"><span class=\"pre\">WSGIRequest.REQUEST</span></code> property will be removed.</p></li>\n<li><p>The class <code class=\"docutils literal notranslate\"><span class=\"pre\">django.utils.datastructures.MergeDict</span></code> will be removed.</p></li>\n<li><p>The <code class=\"docutils literal notranslate\"><span class=\"pre\">zh-cn</span></code> and <code class=\"docutils literal notranslate\"><span class=\"pre\">zh-tw</span></code> language codes will be removed and have been\nreplaced by the <code class=\"docutils literal notranslate\"><span class=\"pre\">zh-hans</span></code> and <code class=\"docutils literal notranslate\"><span class=\"pre\">zh-hant</span></code> language code respectively.</p></li>\n<li><p>The internal <code class=\"docutils literal notranslate\"><span class=\"pre\">django.utils.functional.memoize</span></code> will be removed.</p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">django.core.cache.get_cache</span></code> will be removed. Add suitable entries\nto <a class=\"reference internal\" href=\"/pl/5.0/ref/settings/#std-setting-CACHES\"><code class=\"xref std std-setting docutils literal notranslate\"><span class=\"pre\">CACHES</span></code></a> and use <a class=\"reference internal\" href=\"/pl/5.0/topics/cache/#django.core.cache.caches\" title=\"django.core.cache.caches\"><code class=\"xref py py-data docutils literal notranslate\"><span class=\"pre\">django.core.cache.caches</span></code></a> instead.</p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">django.db.models.loading</span></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\"><span class=\"pre\">BaseCommand.requires_model_validation</span></code> will be removed in favor of\n<code class=\"docutils literal notranslate\"><span class=\"pre\">requires_system_checks</span></code>. Admin validators will be replaced by admin\nchecks.</p></li>\n<li><p>The <code class=\"docutils literal notranslate\"><span class=\"pre\">ModelAdmin.validator_class</span></code> and <code class=\"docutils literal notranslate\"><span class=\"pre\">default_validator_class</span></code> attributes\nwill be removed.</p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">ModelAdmin.validate()</span></code> will be removed.</p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">django.db.backends.DatabaseValidation.validate_field</span></code> will be removed in\nfavor of the <code class=\"docutils literal notranslate\"><span class=\"pre\">check_field</span></code> method.</p></li>\n<li><p>The <code class=\"docutils literal notranslate\"><span class=\"pre\">validate</span></code> management command will be removed.</p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">django.utils.module_loading.import_by_path</span></code> will be removed in favor of\n<code class=\"docutils literal notranslate\"><span class=\"pre\">django.utils.module_loading.import_string</span></code>.</p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">ssi</span></code> and <code class=\"docutils literal notranslate\"><span class=\"pre\">url</span></code> template tags will be removed from the <code class=\"docutils literal notranslate\"><span class=\"pre\">future</span></code> template\ntag library (used during the 1.3/1.4 deprecation period).</p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">django.utils.text.javascript_quote</span></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\"><span class=\"pre\">TEST_</span></code>, will no longer be supported.</p></li>\n<li><p>The <code class=\"docutils literal notranslate\"><span class=\"pre\">cache_choices</span></code> option to <a class=\"reference internal\" href=\"/pl/5.0/ref/forms/fields/#django.forms.ModelChoiceField\" title=\"django.forms.ModelChoiceField\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">ModelChoiceField</span></code></a> and\n<a class=\"reference internal\" href=\"/pl/5.0/ref/forms/fields/#django.forms.ModelMultipleChoiceField\" title=\"django.forms.ModelMultipleChoiceField\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">ModelMultipleChoiceField</span></code></a> will be removed.</p></li>\n<li><p>The default value of the\n<a class=\"reference internal\" href=\"/pl/5.0/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\"><span class=\"pre\">RedirectView.permanent</span></code></a>\nattribute will change from <code class=\"docutils literal notranslate\"><span class=\"pre\">True</span></code> to <code class=\"docutils literal notranslate\"><span class=\"pre\">False</span></code>.</p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">django.contrib.sitemaps.FlatPageSitemap</span></code> will be removed in favor of\n<code class=\"docutils literal notranslate\"><span class=\"pre\">django.contrib.flatpages.sitemaps.FlatPageSitemap</span></code>.</p></li>\n<li><p>Private API <code class=\"docutils literal notranslate\"><span class=\"pre\">django.test.utils.TestTemplateLoader</span></code> will be removed.</p></li>\n<li><p>The <code class=\"docutils literal notranslate\"><span class=\"pre\">django.contrib.contenttypes.generic</span></code> module will be removed.</p></li>\n<li><p>Private APIs <code class=\"docutils literal notranslate\"><span class=\"pre\">django.db.models.sql.where.WhereNode.make_atom()</span></code> and\n<code class=\"docutils literal notranslate\"><span class=\"pre\">django.db.models.sql.where.Constraint</span></code> will be removed.</p></li>\n</ul>\n</section>\n<section id=\"deprecation-removed-in-1-8\">\n<span id=\"id12\"></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=\"/pl/5.0/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\"><span class=\"pre\">django.contrib.comments</span></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\"><span class=\"pre\">TransactionMiddleware</span></code>,</p></li>\n<li><p>the decorators and context managers <code class=\"docutils literal notranslate\"><span class=\"pre\">autocommit</span></code>, <code class=\"docutils literal notranslate\"><span class=\"pre\">commit_on_success</span></code>,\nand <code class=\"docutils literal notranslate\"><span class=\"pre\">commit_manually</span></code>, defined in <code class=\"docutils literal notranslate\"><span class=\"pre\">django.db.transaction</span></code>,</p></li>\n<li><p>the functions <code class=\"docutils literal notranslate\"><span class=\"pre\">commit_unless_managed</span></code> and <code class=\"docutils literal notranslate\"><span class=\"pre\">rollback_unless_managed</span></code>,\nalso defined in <code class=\"docutils literal notranslate\"><span class=\"pre\">django.db.transaction</span></code>,</p></li>\n<li><p>the <code class=\"docutils literal notranslate\"><span class=\"pre\">TRANSACTIONS_MANAGED</span></code> setting.</p></li>\n</ul>\n</li>\n<li><p>The <a class=\"reference internal\" href=\"/pl/5.0/ref/templates/builtins/#std-templatetag-cycle\"><code class=\"xref std std-ttag docutils literal notranslate\"><span class=\"pre\">cycle</span></code></a> and <a class=\"reference internal\" href=\"/pl/5.0/ref/templates/builtins/#std-templatetag-firstof\"><code class=\"xref std std-ttag docutils literal notranslate\"><span class=\"pre\">firstof</span></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\"><span class=\"pre\">future</span></code> template tag library.</p></li>\n<li><p>The <code class=\"docutils literal notranslate\"><span class=\"pre\">SEND_BROKEN_LINK_EMAILS</span></code> setting will be removed. Add the\n<a class=\"reference internal\" href=\"/pl/5.0/ref/middleware/#django.middleware.common.BrokenLinkEmailsMiddleware\" title=\"django.middleware.common.BrokenLinkEmailsMiddleware\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">django.middleware.common.BrokenLinkEmailsMiddleware</span></code></a> middleware to\nyour <code class=\"docutils literal notranslate\"><span class=\"pre\">MIDDLEWARE_CLASSES</span></code> setting instead.</p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">django.middleware.doc.XViewMiddleware</span></code> will be removed. Use\n<code class=\"docutils literal notranslate\"><span class=\"pre\">django.contrib.admindocs.middleware.XViewMiddleware</span></code> instead.</p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">Model._meta.module_name</span></code> was renamed to <code class=\"docutils literal notranslate\"><span class=\"pre\">model_name</span></code>.</p></li>\n<li><p>Remove the backward compatible shims introduced to rename <code class=\"docutils literal notranslate\"><span class=\"pre\">get_query_set</span></code>\nand similar queryset methods. This affects the following classes:\n<code class=\"docutils literal notranslate\"><span class=\"pre\">BaseModelAdmin</span></code>, <code class=\"docutils literal notranslate\"><span class=\"pre\">ChangeList</span></code>, <code class=\"docutils literal notranslate\"><span class=\"pre\">BaseCommentNode</span></code>,\n<code class=\"docutils literal notranslate\"><span class=\"pre\">GenericForeignKey</span></code>, <code class=\"docutils literal notranslate\"><span class=\"pre\">Manager</span></code>, <code class=\"docutils literal notranslate\"><span class=\"pre\">SingleRelatedObjectDescriptor</span></code> and\n<code class=\"docutils literal notranslate\"><span class=\"pre\">ReverseSingleRelatedObjectDescriptor</span></code>.</p></li>\n<li><p>Remove the backward compatible shims introduced to rename the attributes\n<code class=\"docutils literal notranslate\"><span class=\"pre\">ChangeList.root_query_set</span></code> and <code class=\"docutils literal notranslate\"><span class=\"pre\">ChangeList.query_set</span></code>.</p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">django.views.defaults.shortcut</span></code> will be removed, as part of the\ngoal of removing all <code class=\"docutils literal notranslate\"><span class=\"pre\">django.contrib</span></code> references from the core\nDjango codebase. Instead use\n<code class=\"docutils literal notranslate\"><span class=\"pre\">django.contrib.contenttypes.views.shortcut</span></code>. <code class=\"docutils literal notranslate\"><span class=\"pre\">django.conf.urls.shortcut</span></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\"><span class=\"pre\">django.db.backend</span></code></p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">django.db.close_connection()</span></code></p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">django.db.backends.creation.BaseDatabaseCreation.set_autocommit()</span></code></p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">django.db.transaction.is_managed()</span></code></p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">django.db.transaction.managed()</span></code></p></li>\n</ul>\n</li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">django.forms.widgets.RadioInput</span></code> will be removed in favor of\n<code class=\"docutils literal notranslate\"><span class=\"pre\">django.forms.widgets.RadioChoiceInput</span></code>.</p></li>\n<li><p>The module <code class=\"docutils literal notranslate\"><span class=\"pre\">django.test.simple</span></code> and the class\n<code class=\"docutils literal notranslate\"><span class=\"pre\">django.test.simple.DjangoTestSuiteRunner</span></code> will be removed. Instead use\n<code class=\"docutils literal notranslate\"><span class=\"pre\">django.test.runner.DiscoverRunner</span></code>.</p></li>\n<li><p>The module <code class=\"docutils literal notranslate\"><span class=\"pre\">django.test._doctest</span></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\"><span class=\"pre\">CACHE_MIDDLEWARE_ANONYMOUS_ONLY</span></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\"><span class=\"pre\">help_text</span></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\"><span class=\"pre\">Model._meta.get_(add|change|delete)_permission</span></code> methods will\nbe removed.</p></li>\n<li><p>The session key <code class=\"docutils literal notranslate\"><span class=\"pre\">django_language</span></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\"><span class=\"pre\">django.contrib.gis.sitemaps.views.index</span></code> and\n<code class=\"docutils literal notranslate\"><span class=\"pre\">django.contrib.gis.sitemaps.views.sitemap</span></code>).</p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">django.utils.html.fix_ampersands</span></code>, the <code class=\"docutils literal notranslate\"><span class=\"pre\">fix_ampersands</span></code> template filter and\n<code class=\"docutils literal notranslate\"><span class=\"pre\">django.utils.html.clean_html</span></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=\"id13\"></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=\"/pl/5.0/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\"><span class=\"pre\">django.utils.simplejson</span></code> will be removed. The standard library\nprovides <a class=\"reference external\" href=\"https://docs.python.org/3/library/json.html#module-json\" title=\"(w Python v3.14)\"><code class=\"xref py py-mod docutils literal notranslate\"><span class=\"pre\">json</span></code></a> which should be used instead.</p></li>\n<li><p>The function <code class=\"docutils literal notranslate\"><span class=\"pre\">django.utils.itercompat.product</span></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\"><span class=\"pre\">mimetype</span></code> argument to the <code class=\"docutils literal notranslate\"><span class=\"pre\">__init__</span></code> methods of\n<a class=\"reference internal\" href=\"/pl/5.0/ref/request-response/#django.http.HttpResponse\" title=\"django.http.HttpResponse\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">HttpResponse</span></code></a>,\n<a class=\"reference internal\" href=\"/pl/5.0/ref/template-response/#django.template.response.SimpleTemplateResponse\" title=\"django.template.response.SimpleTemplateResponse\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">SimpleTemplateResponse</span></code></a>, and\n<a class=\"reference internal\" href=\"/pl/5.0/ref/template-response/#django.template.response.TemplateResponse\" title=\"django.template.response.TemplateResponse\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">TemplateResponse</span></code></a>, will be removed.\n<code class=\"docutils literal notranslate\"><span class=\"pre\">content_type</span></code> should be used instead. This also applies to the\n<code class=\"docutils literal notranslate\"><span class=\"pre\">render_to_response()</span></code> shortcut and the sitemap views,\n<a class=\"reference internal\" href=\"/pl/5.0/ref/contrib/sitemaps/#django.contrib.sitemaps.views.index\" title=\"django.contrib.sitemaps.views.index\"><code class=\"xref py py-func docutils literal notranslate\"><span class=\"pre\">index()</span></code></a> and\n<a class=\"reference internal\" href=\"/pl/5.0/ref/contrib/sitemaps/#django.contrib.sitemaps.views.sitemap\" title=\"django.contrib.sitemaps.views.sitemap\"><code class=\"xref py py-func docutils literal notranslate\"><span class=\"pre\">sitemap()</span></code></a>.</p></li>\n<li><p>When <a class=\"reference internal\" href=\"/pl/5.0/ref/request-response/#django.http.HttpResponse\" title=\"django.http.HttpResponse\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">HttpResponse</span></code></a> is instantiated with an iterator,\nor when <a class=\"reference internal\" href=\"/pl/5.0/ref/request-response/#django.http.HttpResponse.content\" title=\"django.http.HttpResponse.content\"><code class=\"xref py py-attr docutils literal notranslate\"><span class=\"pre\">content</span></code></a> is set to an iterator,\nthat iterator will be immediately consumed.</p></li>\n<li><p>The <code class=\"docutils literal notranslate\"><span class=\"pre\">AUTH_PROFILE_MODULE</span></code> setting, and the <code class=\"docutils literal notranslate\"><span class=\"pre\">get_profile()</span></code> method on\nthe User model, will be removed.</p></li>\n<li><p>The <code class=\"docutils literal notranslate\"><span class=\"pre\">cleanup</span></code> management command will be removed. It’s replaced by\n<code class=\"docutils literal notranslate\"><span class=\"pre\">clearsessions</span></code>.</p></li>\n<li><p>The <code class=\"docutils literal notranslate\"><span class=\"pre\">daily_cleanup.py</span></code> script will be removed.</p></li>\n<li><p>The <code class=\"docutils literal notranslate\"><span class=\"pre\">depth</span></code> keyword argument will be removed from\n<a class=\"reference internal\" href=\"/pl/5.0/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\"><span class=\"pre\">select_related()</span></code></a>.</p></li>\n<li><p>The undocumented <code class=\"docutils literal notranslate\"><span class=\"pre\">get_warnings_state()</span></code>/<code class=\"docutils literal notranslate\"><span class=\"pre\">restore_warnings_state()</span></code>\nfunctions from <a class=\"reference internal\" href=\"/pl/5.0/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\"><span class=\"pre\">django.test.utils</span></code></a> and the <code class=\"docutils literal notranslate\"><span class=\"pre\">save_warnings_state()</span></code>/\n<code class=\"docutils literal notranslate\"><span class=\"pre\">restore_warnings_state()</span></code>\n<a class=\"reference internal\" href=\"/pl/5.0/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=\"(w Python v3.14)\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">warnings.catch_warnings</span></code></a> context manager\navailable starting with Python 2.6 instead.</p></li>\n<li><p>The undocumented <code class=\"docutils literal notranslate\"><span class=\"pre\">check_for_test_cookie</span></code> method in\n<a class=\"reference internal\" href=\"/pl/5.0/topics/auth/default/#django.contrib.auth.forms.AuthenticationForm\" title=\"django.contrib.auth.forms.AuthenticationForm\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">AuthenticationForm</span></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\"><span class=\"pre\">django.contrib.auth.views.password_reset_confirm()</span></code> that\nsupports base36 encoded user IDs\n(<code class=\"docutils literal notranslate\"><span class=\"pre\">django.contrib.auth.views.password_reset_confirm_uidb36</span></code>) will be\nremoved. If your site has been running Django 1.6 for more than\n<code class=\"docutils literal notranslate\"><span class=\"pre\">PASSWORD_RESET_TIMEOUT_DAYS</span></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\"><span class=\"pre\">django.utils.encoding.StrAndUnicode</span></code> mix-in will be removed.</p></li>\n</ul>\n</section>\n<section id=\"deprecation-removed-in-1-6\">\n<span id=\"id14\"></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=\"/pl/5.0/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\"><span class=\"pre\">django.contrib.databrowse</span></code> will be removed.</p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">django.contrib.localflavor</span></code> will be removed following an accelerated\ndeprecation.</p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">django.contrib.markup</span></code> will be removed following an accelerated\ndeprecation.</p></li>\n<li><p>The compatibility modules <code class=\"docutils literal notranslate\"><span class=\"pre\">django.utils.copycompat</span></code> and\n<code class=\"docutils literal notranslate\"><span class=\"pre\">django.utils.hashcompat</span></code> as well as the functions\n<code class=\"docutils literal notranslate\"><span class=\"pre\">django.utils.itercompat.all</span></code> and <code class=\"docutils literal notranslate\"><span class=\"pre\">django.utils.itercompat.any</span></code> will\nbe removed. The Python builtin versions should be used instead.</p></li>\n<li><p>The <code class=\"docutils literal notranslate\"><span class=\"pre\">csrf_response_exempt</span></code> and <code class=\"docutils literal notranslate\"><span class=\"pre\">csrf_view_exempt</span></code> decorators will\nbe removed. Since 1.4 <code class=\"docutils literal notranslate\"><span class=\"pre\">csrf_response_exempt</span></code> has been a no-op (it\nreturns the same function), and <code class=\"docutils literal notranslate\"><span class=\"pre\">csrf_view_exempt</span></code> has been a\nsynonym for <code class=\"docutils literal notranslate\"><span class=\"pre\">django.views.decorators.csrf.csrf_exempt</span></code>, which should\nbe used to replace it.</p></li>\n<li><p>The <code class=\"docutils literal notranslate\"><span class=\"pre\">django.core.cache.backends.memcached.CacheClass</span></code> backend\nwas split into two in Django 1.3 in order to introduce support for\nPyLibMC. The historical <code class=\"docutils literal notranslate\"><span class=\"pre\">CacheClass</span></code> will be removed in favor of\n<code class=\"docutils literal notranslate\"><span class=\"pre\">django.core.cache.backends.memcached.MemcachedCache</span></code>.</p></li>\n<li><p>The UK-prefixed objects of <code class=\"docutils literal notranslate\"><span class=\"pre\">django.contrib.localflavor.uk</span></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\"><span class=\"pre\">IGNORABLE_404_STARTS</span></code> and <code class=\"docutils literal notranslate\"><span class=\"pre\">IGNORABLE_404_ENDS</span></code> settings have been\nsuperseded by <a class=\"reference internal\" href=\"/pl/5.0/ref/settings/#std-setting-IGNORABLE_404_URLS\"><code class=\"xref std std-setting docutils literal notranslate\"><span class=\"pre\">IGNORABLE_404_URLS</span></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=\"/pl/5.0/topics/cache/#django.views.decorators.cache.cache_page\" title=\"django.views.decorators.cache.cache_page\"><code class=\"xref py py-func docutils literal notranslate\"><span class=\"pre\">cache_page()</span></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\"><span class=\"pre\">'mail_admins'</span></code> logging handler will be removed. The\n<a class=\"reference internal\" href=\"/pl/5.0/ref/settings/#std-setting-LOGGING\"><code class=\"xref std std-setting docutils literal notranslate\"><span class=\"pre\">LOGGING</span></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\"><span class=\"pre\">django.utils.text.truncate_words()</span></code>\nand <code class=\"docutils literal notranslate\"><span class=\"pre\">django.utils.text.truncate_html_words()</span></code> will be removed in\nfavor of the <code class=\"docutils literal notranslate\"><span class=\"pre\">django.utils.text.Truncator</span></code> class.</p></li>\n<li><p>The <code class=\"docutils literal notranslate\"><span class=\"pre\">django.contrib.gis.geoip.GeoIP</span></code> class was moved to\n<code class=\"docutils literal notranslate\"><span class=\"pre\">django.contrib.gis.geoip</span></code> in 1.4 – the shortcut in\n<code class=\"docutils literal notranslate\"><span class=\"pre\">django.contrib.gis.utils</span></code> will be removed.</p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">django.conf.urls.defaults</span></code> will be removed. The functions\n<code class=\"docutils literal notranslate\"><span class=\"pre\">include()</span></code>, <code class=\"docutils literal notranslate\"><span class=\"pre\">patterns()</span></code>, and <code class=\"docutils literal notranslate\"><span class=\"pre\">url()</span></code>, plus\n<a class=\"reference internal\" href=\"/pl/5.0/ref/urls/#django.conf.urls.handler404\" title=\"django.conf.urls.handler404\"><code class=\"xref py py-data docutils literal notranslate\"><span class=\"pre\">handler404</span></code></a> and <a class=\"reference internal\" href=\"/pl/5.0/ref/urls/#django.conf.urls.handler500\" title=\"django.conf.urls.handler500\"><code class=\"xref py py-data docutils literal notranslate\"><span class=\"pre\">handler500</span></code></a>\nare now available through <code class=\"docutils literal notranslate\"><span class=\"pre\">django.conf.urls</span></code>.</p></li>\n<li><p>The functions <code class=\"docutils literal notranslate\"><span class=\"pre\">setup_environ()</span></code> and <code class=\"docutils literal notranslate\"><span class=\"pre\">execute_manager()</span></code> will be removed\nfrom <a class=\"reference internal\" href=\"/pl/5.0/howto/custom-management-commands/#module-django.core.management\" title=\"django.core.management\"><code class=\"xref py py-mod docutils literal notranslate\"><span class=\"pre\">django.core.management</span></code></a>. This also means that the old (pre-1.4)\nstyle of <code class=\"file docutils literal notranslate\"><span class=\"pre\">manage.py</span></code> file will no longer work.</p></li>\n<li><p>Setting the <code class=\"docutils literal notranslate\"><span class=\"pre\">is_safe</span></code> and <code class=\"docutils literal notranslate\"><span class=\"pre\">needs_autoescape</span></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\"><span class=\"pre\">HttpRequest.raw_post_data</span></code> was renamed to <code class=\"docutils literal notranslate\"><span class=\"pre\">HttpRequest.body</span></code>\nin 1.4. The backward compatibility will be removed –\n<code class=\"docutils literal notranslate\"><span class=\"pre\">HttpRequest.raw_post_data</span></code> will no longer work.</p></li>\n<li><p>The value for the <code class=\"docutils literal notranslate\"><span class=\"pre\">post_url_continue</span></code> parameter in\n<code class=\"docutils literal notranslate\"><span class=\"pre\">ModelAdmin.response_add()</span></code> will have to be either <code class=\"docutils literal notranslate\"><span class=\"pre\">None</span></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\"><span class=\"pre\">'../%s/'</span></code>, will not be accepted any\nmore.</p></li>\n</ul>\n</section>\n<section id=\"deprecation-removed-in-1-5\">\n<span id=\"id15\"></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=\"/pl/5.0/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=\"/pl/5.0/ref/settings/#std-setting-SECRET_KEY\"><code class=\"xref std std-setting docutils literal notranslate\"><span class=\"pre\">SECRET_KEY</span></code></a> will result in an exception\nrather than a <code class=\"docutils literal notranslate\"><span class=\"pre\">DeprecationWarning</span></code>. (This is accelerated from the usual\ndeprecation path; see the <a class=\"reference internal\" href=\"/pl/5.0/releases/1.4/\"><span class=\"doc\">Django 1.4 release notes</span></a>.)</p></li>\n<li><p>The <code class=\"docutils literal notranslate\"><span class=\"pre\">mod_python</span></code> request handler will be removed. The <code class=\"docutils literal notranslate\"><span class=\"pre\">mod_wsgi</span></code>\nhandler should be used instead.</p></li>\n<li><p>The <code class=\"docutils literal notranslate\"><span class=\"pre\">template</span></code> attribute on <code class=\"docutils literal notranslate\"><span class=\"pre\">django.test.client.Response</span></code>\nobjects returned by the <a class=\"reference internal\" href=\"/pl/5.0/topics/testing/tools/#test-client\"><span class=\"std std-ref\">test client</span></a> will be removed.\nThe <a class=\"reference internal\" href=\"/pl/5.0/topics/testing/tools/#django.test.Response.templates\" title=\"django.test.Response.templates\"><code class=\"xref py py-attr docutils literal notranslate\"><span class=\"pre\">templates</span></code></a> attribute should be\nused instead.</p></li>\n<li><p>The <code class=\"docutils literal notranslate\"><span class=\"pre\">django.test.simple.DjangoTestRunner</span></code> will be removed.\nInstead use a <code class=\"docutils literal notranslate\"><span class=\"pre\">unittest</span></code>-native class. The features of the\n<code class=\"docutils literal notranslate\"><span class=\"pre\">django.test.simple.DjangoTestRunner</span></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=\"(w Python v3.14)\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">unittest.TextTestRunner</span></code></a>.</p></li>\n<li><p>The undocumented function\n<code class=\"docutils literal notranslate\"><span class=\"pre\">django.contrib.formtools.utils.security_hash</span></code> will be removed,\ninstead use <code class=\"docutils literal notranslate\"><span class=\"pre\">django.contrib.formtools.utils.form_hmac</span></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=\"/pl/5.0/topics/class-based-views/\"><span class=\"doc\">here</span></a>.</p></li>\n<li><p>The <code class=\"docutils literal notranslate\"><span class=\"pre\">django.core.servers.basehttp.AdminMediaHandler</span></code> will be\nremoved.  In its place use\n<code class=\"docutils literal notranslate\"><span class=\"pre\">django.contrib.staticfiles.handlers.StaticFilesHandler</span></code>.</p></li>\n<li><p>The template tags library <code class=\"docutils literal notranslate\"><span class=\"pre\">adminmedia</span></code> and the template tag <code class=\"docutils literal notranslate\"><span class=\"pre\">{%</span>\n<span class=\"pre\">admin_media_prefix</span> <span class=\"pre\">%}</span></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=\"/pl/5.0/releases/1.4/\"><span class=\"doc\">Django 1.4 release notes</span></a>.)</p></li>\n<li><p>The <code class=\"docutils literal notranslate\"><span class=\"pre\">url</span></code> and <code class=\"docutils literal notranslate\"><span class=\"pre\">ssi</span></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\"><span class=\"pre\">future</span></code> template\ntag library.</p></li>\n<li><p>The <code class=\"docutils literal notranslate\"><span class=\"pre\">reset</span></code> and <code class=\"docutils literal notranslate\"><span class=\"pre\">sqlreset</span></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\"><span class=\"pre\">supports_inactive_user</span></code> attribute will no longer be checked\nand can be removed from custom backends.</p></li>\n<li><p><a class=\"reference internal\" href=\"/pl/5.0/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\"><span class=\"pre\">transform()</span></code></a> will raise\na <a class=\"reference internal\" href=\"/pl/5.0/ref/contrib/gis/geos/#django.contrib.gis.geos.GEOSException\" title=\"django.contrib.gis.geos.GEOSException\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">GEOSException</span></code></a> when called\non a geometry with no SRID value.</p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">django.http.CompatCookie</span></code> will be removed in favor of\n<code class=\"docutils literal notranslate\"><span class=\"pre\">django.http.SimpleCookie</span></code>.</p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">django.core.context_processors.PermWrapper</span></code> and\n<code class=\"docutils literal notranslate\"><span class=\"pre\">django.core.context_processors.PermLookupDict</span></code> will be removed in\nfavor of the corresponding\n<code class=\"docutils literal notranslate\"><span class=\"pre\">django.contrib.auth.context_processors.PermWrapper</span></code> and\n<code class=\"docutils literal notranslate\"><span class=\"pre\">django.contrib.auth.context_processors.PermLookupDict</span></code>, respectively.</p></li>\n<li><p>The <a class=\"reference internal\" href=\"/pl/5.0/ref/settings/#std-setting-MEDIA_URL\"><code class=\"xref std std-setting docutils literal notranslate\"><span class=\"pre\">MEDIA_URL</span></code></a> or <a class=\"reference internal\" href=\"/pl/5.0/ref/settings/#std-setting-STATIC_URL\"><code class=\"xref std std-setting docutils literal notranslate\"><span class=\"pre\">STATIC_URL</span></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\"><span class=\"pre\">django.db.models.fields.URLField.verify_exists</span></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=\"/pl/5.0/ref/settings/#std-setting-LOCALE_PATHS\"><code class=\"xref std std-setting docutils literal notranslate\"><span class=\"pre\">LOCALE_PATHS</span></code></a> setting can be used for the same task by including the\nfilesystem path to a <code class=\"docutils literal notranslate\"><span class=\"pre\">locale</span></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\"><span class=\"pre\">CACHE_BACKEND</span></code> setting will be removed. The cache backend(s) should be\nspecified in the <a class=\"reference internal\" href=\"/pl/5.0/ref/settings/#std-setting-CACHES\"><code class=\"xref std std-setting docutils literal notranslate\"><span class=\"pre\">CACHES</span></code></a> setting.</p></li>\n</ul>\n</section>\n<section id=\"deprecation-removed-in-1-4\">\n<span id=\"id16\"></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=\"/pl/5.0/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\"><span class=\"pre\">CsrfResponseMiddleware</span></code> and <code class=\"docutils literal notranslate\"><span class=\"pre\">CsrfMiddleware</span></code> will be removed.  Use\nthe <code class=\"docutils literal notranslate\"><span class=\"pre\">{%</span> <span class=\"pre\">csrf_token</span> <span class=\"pre\">%}</span></code> template tag inside forms to enable CSRF\nprotection. <code class=\"docutils literal notranslate\"><span class=\"pre\">CsrfViewMiddleware</span></code> remains and is enabled by default.</p></li>\n<li><p>The old imports for CSRF functionality (<code class=\"docutils literal notranslate\"><span class=\"pre\">django.contrib.csrf.*</span></code>),\nwhich moved to core in 1.2, will be removed.</p></li>\n<li><p>The <code class=\"docutils literal notranslate\"><span class=\"pre\">django.contrib.gis.db.backend</span></code> module will be removed in favor\nof the specific backends.</p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">SMTPConnection</span></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\"><span class=\"pre\">DATABASE_*</span></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\"><span class=\"pre\">sqlite3</span></code> instead of <code class=\"docutils literal notranslate\"><span class=\"pre\">django.db.backends.sqlite3</span></code>) will be\nremoved.</p></li>\n<li><p>The <code class=\"docutils literal notranslate\"><span class=\"pre\">get_db_prep_save</span></code>, <code class=\"docutils literal notranslate\"><span class=\"pre\">get_db_prep_value</span></code> and\n<code class=\"docutils literal notranslate\"><span class=\"pre\">get_db_prep_lookup</span></code> methods will have to support multiple databases.</p></li>\n<li><p>The <code class=\"docutils literal notranslate\"><span class=\"pre\">Message</span></code> model (in <code class=\"docutils literal notranslate\"><span class=\"pre\">django.contrib.auth</span></code>), its related\nmanager in the <code class=\"docutils literal notranslate\"><span class=\"pre\">User</span></code> model (<code class=\"docutils literal notranslate\"><span class=\"pre\">user.message_set</span></code>), and the\nassociated methods (<code class=\"docutils literal notranslate\"><span class=\"pre\">user.message_set.create()</span></code> and\n<code class=\"docutils literal notranslate\"><span class=\"pre\">user.get_and_delete_messages()</span></code>), will be removed.  The\n<a class=\"reference internal\" href=\"/pl/5.0/ref/contrib/messages/\"><span class=\"doc\">messages framework</span></a> should be used\ninstead. The related <code class=\"docutils literal notranslate\"><span class=\"pre\">messages</span></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\"><span class=\"pre\">obj</span></code> parameter for\npermission checking. The <code class=\"docutils literal notranslate\"><span class=\"pre\">supports_object_permissions</span></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\"><span class=\"pre\">AnonymousUser</span></code> class\nbeing passed to all methods dealing with permissions.  The\n<code class=\"docutils literal notranslate\"><span class=\"pre\">supports_anonymous_user</span></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\"><span class=\"pre\">Loader</span></code> class will be removed, as will the <code class=\"docutils literal notranslate\"><span class=\"pre\">load_template_source</span></code>\nfunctions that are included with the built in template loaders for\nbackwards compatibility.</p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">django.utils.translation.get_date_formats()</span></code> and\n<code class=\"docutils literal notranslate\"><span class=\"pre\">django.utils.translation.get_partial_date_formats()</span></code>. These functions\nwill be removed; use the locale-aware\n<code class=\"docutils literal notranslate\"><span class=\"pre\">django.utils.formats.get_format()</span></code> to get the appropriate formats.</p></li>\n<li><p>In <code class=\"docutils literal notranslate\"><span class=\"pre\">django.forms.fields</span></code>, the constants: <code class=\"docutils literal notranslate\"><span class=\"pre\">DEFAULT_DATE_INPUT_FORMATS</span></code>,\n<code class=\"docutils literal notranslate\"><span class=\"pre\">DEFAULT_TIME_INPUT_FORMATS</span></code> and\n<code class=\"docutils literal notranslate\"><span class=\"pre\">DEFAULT_DATETIME_INPUT_FORMATS</span></code> will be removed. Use\n<code class=\"docutils literal notranslate\"><span class=\"pre\">django.utils.formats.get_format()</span></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\"><span class=\"pre\">django.test.simple.run_tests()</span></code> test runner.</p></li>\n<li><p>The <code class=\"docutils literal notranslate\"><span class=\"pre\">views.feed()</span></code> view and <code class=\"docutils literal notranslate\"><span class=\"pre\">feeds.Feed</span></code> class in\n<code class=\"docutils literal notranslate\"><span class=\"pre\">django.contrib.syndication</span></code> will be removed. The class-based view\n<code class=\"docutils literal notranslate\"><span class=\"pre\">views.Feed</span></code> should be used instead.</p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">django.core.context_processors.auth</span></code>.  This release will\nremove the old method in favor of the new method in\n<code class=\"docutils literal notranslate\"><span class=\"pre\">django.contrib.auth.context_processors.auth</span></code>.</p></li>\n<li><p>The <code class=\"docutils literal notranslate\"><span class=\"pre\">postgresql</span></code> database backend will be removed, use the\n<code class=\"docutils literal notranslate\"><span class=\"pre\">postgresql_psycopg2</span></code> backend instead.</p></li>\n<li><p>The <code class=\"docutils literal notranslate\"><span class=\"pre\">no</span></code> language code will be removed and has been replaced by the\n<code class=\"docutils literal notranslate\"><span class=\"pre\">nb</span></code> language code.</p></li>\n<li><p>Authentication backends will need to define the boolean attribute\n<code class=\"docutils literal notranslate\"><span class=\"pre\">supports_inactive_user</span></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\"><span class=\"pre\">django.db.models.fields.XMLField</span></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\"><span class=\"pre\">TextField</span></code> since the removal of <code class=\"docutils literal notranslate\"><span class=\"pre\">oldforms</span></code>.\nAll uses of <code class=\"docutils literal notranslate\"><span class=\"pre\">XMLField</span></code> can be replaced with <code class=\"docutils literal notranslate\"><span class=\"pre\">TextField</span></code>.</p></li>\n<li><p>The undocumented <code class=\"docutils literal notranslate\"><span class=\"pre\">mixin</span></code> parameter to the <code class=\"docutils literal notranslate\"><span class=\"pre\">open()</span></code> method of\n<code class=\"docutils literal notranslate\"><span class=\"pre\">django.core.files.storage.Storage</span></code> (and subclasses) will be removed.</p></li>\n</ul>\n</section>\n<section id=\"deprecation-removed-in-1-3\">\n<span id=\"id17\"></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=\"/pl/5.0/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\"><span class=\"pre\">AdminSite.root()</span></code>.  This method of hooking up the admin URLs will be\nremoved in favor of including <code class=\"docutils literal notranslate\"><span class=\"pre\">admin.site.urls</span></code>.</p></li>\n<li><p>Authentication backends need to define the boolean attributes\n<code class=\"docutils literal notranslate\"><span class=\"pre\">supports_object_permissions</span></code> and <code class=\"docutils literal notranslate\"><span class=\"pre\">supports_anonymous_user</span></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.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":"Dokumentacja wewnętrzna Django","url":"/pl/5.0/internals/"}],"prev":{"docname":"internals/release-process","title":"Django’s release process","url":"/pl/5.0/internals/release-process/"},"next":{"docname":"internals/git","title":"The Django source code repository","url":"/pl/5.0/internals/git/"},"formats":{"html":"/pl/5.0/internals/deprecation/","markdown":"/pl/5.0/internals/deprecation.md","json":"/pl/5.0/internals/deprecation.json"},"source":"https://github.com/django/django/blob/stable/5.0.x/docs/internals/deprecation.txt","official":"https://docs.djangoproject.com/pl/5.0/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","1.10"],"inLocales":["en","zh-hans","fr","ja","id","it","pt-br","ko","es","el","pl"]}