{"title":"Linha do tempo de depreciações no Django","version":"2.1","locale":"pt-br","docname":"internals/deprecation","url":"/pt-br/2.1/internals/deprecation/","canonical":"https://djangodocs.dev/pt-br/2.1/internals/deprecation/","summary":"Este documento lista quando várias peças do Django serão removidas ou alteradas de modo incompatível com versões anteriores, culminando com a sua…","html":"<h1>Linha do tempo de depreciações no Django<a class=\"heading-anchor\" href=\"#django-deprecation-timeline\"><span class=\"visually-hidden\">Link para este cabeçalho</span><span aria-hidden=\"true\">#</span></a></h1>\n<p>Este documento lista quando várias peças do Django serão removidas ou alteradas de modo incompatível com versões anteriores, culminando com a sua depreciação, conforme <a class=\"reference internal\" href=\"/pt-br/2.1/internals/release-process/#internal-release-deprecation-policy\"><span class=\"std std-ref\">política de depreciação</span></a>. Mais detalhes sobre cada item geralmente podem ser encontrados nas notas da release de duas versões anteriores.</p>\n<section id=\"deprecation-removed-in-3-0\">\n<span id=\"id1\"></span><h2>3.0<a class=\"heading-anchor\" href=\"#deprecation-removed-in-3-0\"><span class=\"visually-hidden\">Link para este cabeçalho</span><span aria-hidden=\"true\">#</span></a></h2>\n<p>See the <a class=\"reference internal\" href=\"/pt-br/2.1/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\">django.db.backends.postgresql_psycopg2</code> module will be removed.</p></li>\n<li><p><code class=\"docutils literal notranslate\">django.shortcuts.render_to_response()</code> will be removed.</p></li>\n<li><p>The <code class=\"docutils literal notranslate\">DEFAULT_CONTENT_TYPE</code> setting will be removed.</p></li>\n<li><p><code class=\"docutils literal notranslate\">HttpRequest.xreadlines()</code> will be removed.</p></li>\n<li><p>Support for the <code class=\"docutils literal notranslate\">context</code> argument of <code class=\"docutils literal notranslate\">Field.from_db_value()</code> and\n<code class=\"docutils literal notranslate\">Expression.convert_value()</code> will be removed.</p></li>\n<li><p>The <code class=\"docutils literal notranslate\">field_name</code> keyword argument of <code class=\"docutils literal notranslate\">QuerySet.earliest()</code> and\n<code class=\"docutils literal notranslate\">latest()</code> will be removed.</p></li>\n</ul>\n<p>See the <a class=\"reference internal\" href=\"/pt-br/2.1/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\">django.contrib.gis.db.models.functions.ForceRHR</code> will be removed.</p></li>\n<li><p><code class=\"docutils literal notranslate\">django.utils.http.cookie_date()</code> will be removed.</p></li>\n<li><p>The <code class=\"docutils literal notranslate\">staticfiles</code> and <code class=\"docutils literal notranslate\">admin_static</code> template tag libraries will be\nremoved.</p></li>\n<li><p><code class=\"docutils literal notranslate\">django.contrib.staticfiles.templatetags.static()</code> will be removed.</p></li>\n<li><p>The shim to allow <code class=\"docutils literal notranslate\">InlineModelAdmin.has_add_permission()</code> to be defined\nwithout an <code class=\"docutils literal notranslate\">obj</code> argument will be removed.</p></li>\n</ul>\n</section>\n<section id=\"deprecation-removed-in-2-1\">\n<span id=\"id2\"></span><h2>2.1<a class=\"heading-anchor\" href=\"#deprecation-removed-in-2-1\"><span class=\"visually-hidden\">Link para este cabeçalho</span><span aria-hidden=\"true\">#</span></a></h2>\n<p>See the <a class=\"reference internal\" href=\"/pt-br/2.1/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\">contrib.auth.views.login()</code>, <code class=\"docutils literal notranslate\">logout()</code>, <code class=\"docutils literal notranslate\">password_change()</code>, <code class=\"docutils literal notranslate\">password_change_done()</code>, <code class=\"docutils literal notranslate\">password_reset()</code>, <code class=\"docutils literal notranslate\">password_reset_done()</code>, <code class=\"docutils literal notranslate\">password_reset_confirm()</code>, e <code class=\"docutils literal notranslate\">password_reset_complete()</code> serão removidos.</p></li>\n<li><p>The <code class=\"docutils literal notranslate\">extra_context</code> parameter of <code class=\"docutils literal notranslate\">contrib.auth.views.logout_then_login()</code>\nwill be removed.</p></li>\n<li><p><code class=\"docutils literal notranslate\">django.test.runner.setup_databases()</code> será removido.</p></li>\n<li><p><code class=\"docutils literal notranslate\">django.utils.translation.string_concat()</code> será removido.</p></li>\n<li><p><code class=\"docutils literal notranslate\">django.core.cache.backends.memcached.PyLibMCCache</code> will no longer support\npassing <code class=\"docutils literal notranslate\">pylibmc</code> behavior settings as top-level attributes of <code class=\"docutils literal notranslate\">OPTIONS</code>.</p></li>\n<li><p>The <code class=\"docutils literal notranslate\">host</code> parameter of <code class=\"docutils literal notranslate\">django.utils.http.is_safe_url()</code> will be\nremoved.</p></li>\n<li><p>Silencing of exceptions raised while rendering the <code class=\"docutils literal notranslate\">{% include %}</code> template\ntag will be removed.</p></li>\n<li><p><code class=\"docutils literal notranslate\">DatabaseIntrospection.get_indexes()</code> será removido.</p></li>\n<li><p>The <code class=\"docutils literal notranslate\">authenticate()</code> method of authentication backends will require\n<code class=\"docutils literal notranslate\">request</code> as the first positional argument.</p></li>\n<li><p>The <code class=\"docutils literal notranslate\">django.db.models.permalink()</code> decorator will be removed.</p></li>\n<li><p>The <code class=\"docutils literal notranslate\">USE_ETAGS</code> setting will be removed. <code class=\"docutils literal notranslate\">CommonMiddleware</code> and\n<code class=\"docutils literal notranslate\">django.utils.cache.patch_response_headers()</code> will no longer set ETags.</p></li>\n<li><p>O atributo <code class=\"docutils literal notranslate\">Model._meta.has_auto_field</code> será removido.</p></li>\n<li><p><code class=\"docutils literal notranslate\">url()</code>’s support for inline flags in regular expression groups (<code class=\"docutils literal notranslate\">(?i)</code>,\n<code class=\"docutils literal notranslate\">(?L)</code>, <code class=\"docutils literal notranslate\">(?m)</code>, <code class=\"docutils literal notranslate\">(?s)</code>, and <code class=\"docutils literal notranslate\">(?u)</code>) will be removed.</p></li>\n<li><p>Suporte para <code class=\"docutils literal notranslate\">Widget.render()</code> métodos sem o argumento <code class=\"docutils literal notranslate\">renderer</code> será removido.</p></li>\n</ul>\n</section>\n<section id=\"deprecation-removed-in-2-0\">\n<span id=\"id3\"></span><h2>2.0<a class=\"heading-anchor\" href=\"#deprecation-removed-in-2-0\"><span class=\"visually-hidden\">Link para este cabeçalho</span><span aria-hidden=\"true\">#</span></a></h2>\n<p>Veja as <a class=\"reference internal\" href=\"/pt-br/2.1/releases/1.9/#deprecated-features-1-9\"><span class=\"std std-ref\">notas da release do Django 1.9</span></a> para mais detalhes sobre essas mudanças.</p>\n<ul class=\"simple\">\n<li><p>O argumento <code class=\"docutils literal notranslate\">weak</code> de <code class=\"docutils literal notranslate\">django.dispatch.signals.Signal.disconnect()</code> será removido.</p></li>\n<li><p><code class=\"docutils literal notranslate\">django.db.backends.base.BaseDatabaseOperations.check_aggregate_support()</code> será removida.</p></li>\n<li><p>O pacote <code class=\"docutils literal notranslate\">django.forms.extras</code> será removido.</p></li>\n<li><p>O helper <code class=\"docutils literal notranslate\">assignment_tag</code> será removido.</p></li>\n<li><p>O argumento <code class=\"docutils literal notranslate\">host</code> em <code class=\"docutils literal notranslate\">assertsRedirects</code> será removido. A camada de compatibilidade que permite que URLs absolutas sejam consideradas iguais as URLs relativas quando o caminho é idêntico também será removido.</p></li>\n<li><p><code class=\"docutils literal notranslate\">Field.rel</code> será removido.</p></li>\n<li><p>O atributo <code class=\"docutils literal notranslate\">Field.remote_field.to</code> será removido.</p></li>\n<li><p>O argumento <code class=\"docutils literal notranslate\">on_delete</code> para <code class=\"docutils literal notranslate\">ForeignKey</code> e <code class=\"docutils literal notranslate\">OneToOneField</code> será requerido.</p></li>\n<li><p><code class=\"docutils literal notranslate\">django.db.models.fields.add_lazy_relation()</code> será removido.</p></li>\n<li><p>Quando o suporte a time zone estiver habilitado, backends de banco de dados que não suportam time zones não converterão mais datetimes aware para valores naive em UTC quando esses valores são passados como parâmetros para consultas SQL executadas fora do ORM, ex. com <code class=\"docutils literal notranslate\">cursor.execute()</code>.</p></li>\n<li><p>O decorator <code class=\"docutils literal notranslate\">django.contrib.auth.tests.utils.skipIfCustomUser()</code> será removido.</p></li>\n<li><p>As classes <code class=\"docutils literal notranslate\">GeoManager</code> e <code class=\"docutils literal notranslate\">GeoQuerySet</code> serão removidas.</p></li>\n<li><p>O módulo <code class=\"docutils literal notranslate\">django.contrib.gis.geoip</code> será removido.</p></li>\n<li><p>A verificação de <code class=\"docutils literal notranslate\">supports_recursion</code> para template loaders será removido de:</p>\n<ul>\n<li><p><code class=\"docutils literal notranslate\">django.template.engine.Engine.find_template()</code></p></li>\n<li><p><code class=\"docutils literal notranslate\">django.template.loader_tags.ExtendsNode.find_template()</code></p></li>\n<li><p><code class=\"docutils literal notranslate\">django.template.loaders.base.Loader.supports_recursion()</code></p></li>\n<li><p><code class=\"docutils literal notranslate\">django.template.loaders.cached.Loader.supports_recursion()</code></p></li>\n</ul>\n</li>\n<li><p>Os métodos de template loaders <code class=\"docutils literal notranslate\">load_template()</code> e <code class=\"docutils literal notranslate\">load_template_sources()</code> serão removidos.</p></li>\n<li><p>O argumento <code class=\"docutils literal notranslate\">template_dirs</code> para template loaders será removido.</p>\n<ul>\n<li><p><code class=\"docutils literal notranslate\">django.template.loaders.base.Loader.get_template()</code></p></li>\n<li><p><code class=\"docutils literal notranslate\">django.template.loaders.cached.Loader.cache_key()</code></p></li>\n<li><p><code class=\"docutils literal notranslate\">django.template.loaders.cached.Loader.get_template()</code></p></li>\n<li><p><code class=\"docutils literal notranslate\">django.template.loaders.cached.Loader.get_template_sources()</code></p></li>\n<li><p><code class=\"docutils literal notranslate\">django.template.loaders.filesystem.Loader.get_template_sources()</code></p></li>\n</ul>\n</li>\n<li><p>O método <code class=\"docutils literal notranslate\">django.template.loaders.base.Loader.__call__()</code> será removido.</p></li>\n<li><p>Suporte para views com erros customizados com um parâmetro posicional será removido.</p></li>\n<li><p>o atributo <code class=\"docutils literal notranslate\">mime_type</code> de <code class=\"docutils literal notranslate\">django.utils.feedgenerator.Atom1Feed</code> e <code class=\"docutils literal notranslate\">django.utils.feedgenerator.RssFeed</code> será removido para promover <code class=\"docutils literal notranslate\">content_type</code>.</p></li>\n<li><p>The <code class=\"docutils literal notranslate\">app_name</code> argument to <code class=\"docutils literal notranslate\">django.conf.urls.include()</code> will be\nremoved.</p></li>\n<li><p>Suporte a passagem de tuplas de 3 elementos como primeiro argumento no <code class=\"docutils literal notranslate\">include()</code> será removido.</p></li>\n<li><p>Suporte para setar o namespace de uma instância de URL sem um namespace de aplicação será removido.</p></li>\n<li><p><code class=\"docutils literal notranslate\">Field._get_val_from_obj()</code> será removido para promover <code class=\"docutils literal notranslate\">Field.value_from_object()</code>.</p></li>\n<li><p><code class=\"docutils literal notranslate\">django.template.loaders.eggs.Loader</code> será removido.</p></li>\n<li><p>O parâmetro <code class=\"docutils literal notranslate\">current_app</code> para views <code class=\"docutils literal notranslate\">contrib.auth</code> será removido.</p></li>\n<li><p>O argumento chave <code class=\"docutils literal notranslate\">callable_obj</code> para <code class=\"docutils literal notranslate\">SimpleTestCase.assertRaisesMessage()</code> será removido.</p></li>\n<li><p>Suporte para o atributo <code class=\"docutils literal notranslate\">allow_tags</code> em métodos de <code class=\"docutils literal notranslate\">ModelAdmin</code> serão removidos.</p></li>\n<li><p>O argumento chave <code class=\"docutils literal notranslate\">enclosure</code> em <code class=\"docutils literal notranslate\">SyndicationFeed.add_item()</code> será removido.</p></li>\n<li><p>Os aliases de <code class=\"docutils literal notranslate\">django.template.loader.LoaderOrigin</code> e <code class=\"docutils literal notranslate\">django.template.base.StringOrigin</code> para <code class=\"docutils literal notranslate\">django.template.base.Origin</code> serão removidos.</p></li>\n</ul>\n<p>Veja a <a class=\"reference internal\" href=\"/pt-br/2.1/releases/1.10/#deprecated-features-1-10\"><span class=\"std std-ref\">Django 1.10 release notes</span></a> para mais detalhes sobre essas mudanças.</p>\n<ul class=\"simple\">\n<li><p>A opção <code class=\"docutils literal notranslate\">makemigrations --exit</code> será removida.</p></li>\n<li><p>Suporte para atribuição direta a uma reversa relação foreign key ou many-to-many deve ser removido</p></li>\n<li><p>Os métodos <code class=\"docutils literal notranslate\">get_srid()</code> e <code class=\"docutils literal notranslate\">set_srid()</code> em <code class=\"docutils literal notranslate\">django.contrib.gis.geos.GEOSGeometry</code> serão removidos.</p></li>\n<li><p>Os métodos <code class=\"docutils literal notranslate\">get_x()</code>, <code class=\"docutils literal notranslate\">set_x()</code>, <code class=\"docutils literal notranslate\">get_y()</code>, <code class=\"docutils literal notranslate\">set_y()</code>, <code class=\"docutils literal notranslate\">get_z()</code>, e <code class=\"docutils literal notranslate\">set_z()</code> em <code class=\"docutils literal notranslate\">django.contrib.gis.geos.Point</code> serão removidos.</p></li>\n<li><p>Os métodos <code class=\"docutils literal notranslate\">get_coords()</code> e <code class=\"docutils literal notranslate\">set_coords()</code> em <code class=\"docutils literal notranslate\">django.contrib.gis.geos.Point</code> serão removidos.</p></li>\n<li><p>A propriedade <code class=\"docutils literal notranslate\">cascaded_union</code> em <code class=\"docutils literal notranslate\">django.contrib.gis.geos.MultiPolygon</code> serão removidos.</p></li>\n<li><p><code class=\"docutils literal notranslate\">django.utils.functional.allow_lazy()</code> será removido.</p></li>\n<li><p>A opção <code class=\"docutils literal notranslate\">shell --plain</code> será removido.</p></li>\n<li><p>O módulo <code class=\"docutils literal notranslate\">django.core.urlresolvers</code> será removido.</p></li>\n<li><p>O model <code class=\"docutils literal notranslate\">CommaSeparatedIntegerField</code> será removido. Um campo stub irá permanecer para compatibilidade com migrations passadas.</p></li>\n<li><p>O suporte para o método do template <code class=\"docutils literal notranslate\">Context.has_key()</code> será removido.</p></li>\n<li><p>o Suporte aos métodos <code class=\"docutils literal notranslate\">django.core.files.storage.Storage.accessed_time()</code>, <code class=\"docutils literal notranslate\">created_time()</code>, e <code class=\"docutils literal notranslate\">modified_time()</code> serão removidos.</p></li>\n<li><p>O suporte para filtros de consulta usando o nome do modelo quando é definido um <code class=\"docutils literal notranslate\">Meta.default_related_name</code> será removido.</p></li>\n<li><p>O filtro de consulta <code class=\"docutils literal notranslate\">__search</code>  e o método <code class=\"docutils literal notranslate\">DatabaseOperations.fulltext_search_sql()</code> serão removidos.</p></li>\n<li><p>A base para suporte à classes de “managers” personalizados sem um método  <code class=\"docutils literal notranslate\">_apply_rel_filters()</code> será removido.</p></li>\n<li><p>O uso de <code class=\"docutils literal notranslate\">User.is_authenticated()</code> e <code class=\"docutils literal notranslate\">User.is_anonymous()</code> como métodos não será mais suportado.</p></li>\n<li><p>O atributo privado <code class=\"docutils literal notranslate\">virtual_fields</code> do <code class=\"docutils literal notranslate\">Model._meta</code> será removido.</p></li>\n<li><p>O argumento privado nomeado  <code class=\"docutils literal notranslate\">virtual_only</code> no <code class=\"docutils literal notranslate\">Field.contribute_to_class()</code> e na <code class=\"docutils literal notranslate\">virtual</code> no <code class=\"docutils literal notranslate\">Model._meta.add_field()</code> será removido.</p></li>\n<li><p>As “views”  <code class=\"docutils literal notranslate\">javascript_catalog()</code> e <code class=\"docutils literal notranslate\">json_catalog()</code> serão removidas.</p></li>\n<li><p>A função <code class=\"docutils literal notranslate\">django.contrib.gis.utils.precision_wkt()</code> será removida.</p></li>\n<li><p>Em uma herança de tabelas múltiplas, a promoção implícita de um campo <code class=\"docutils literal notranslate\">OneToOneField</code> para um <code class=\"docutils literal notranslate\">parent_link</code> será removida.</p></li>\n<li><p>O suporte para <code class=\"docutils literal notranslate\">Widget._format_value()</code> será removido.</p></li>\n<li><p>Os métodos  <code class=\"docutils literal notranslate\">get_directory_name()</code> e <code class=\"docutils literal notranslate\">get_filename()</code> do <code class=\"docutils literal notranslate\">FileField</code> serão removidos.</p></li>\n<li><p>A função <code class=\"docutils literal notranslate\">mark_for_escaping()</code> e as classes que ela usa: <code class=\"docutils literal notranslate\">EscapeData</code>, <code class=\"docutils literal notranslate\">EscapeBytes</code>, <code class=\"docutils literal notranslate\">EscapeText</code>, <code class=\"docutils literal notranslate\">EscapeString</code>, e <code class=\"docutils literal notranslate\">EscapeUnicode</code> serão removidas.</p></li>\n<li><p>O filtro <code class=\"docutils literal notranslate\">escape</code> será alterado para que use o <code class=\"docutils literal notranslate\">django.utils.html.conditional_escape()</code>.</p></li>\n<li><p><code class=\"docutils literal notranslate\">Manager.use_for_related_fields</code> será removido.</p></li>\n<li><p>A herança de um <code class=\"docutils literal notranslate\">Manager</code> seguirá regras de herança MRO e a <code class=\"docutils literal notranslate\">Meta.manager_inheritance_from_future</code> para escolher esse comportamento será removida.</p></li>\n<li><p>O suporte para middleware do tipo old-style usando o setting <code class=\"docutils literal notranslate\">settings.MIDDLEWARE_CLASSES</code> será removido.</p></li>\n</ul>\n</section>\n<section id=\"deprecation-removed-in-1-10\">\n<span id=\"id4\"></span><h2>1.10<a class=\"heading-anchor\" href=\"#deprecation-removed-in-1-10\"><span class=\"visually-hidden\">Link para este cabeçalho</span><span aria-hidden=\"true\">#</span></a></h2>\n<p>Veja as <a class=\"reference internal\" href=\"/pt-br/2.1/releases/1.8/#deprecated-features-1-8\"><span class=\"std std-ref\">notas da release do Django 1.8</span></a> para mais detalhes sobre essas mudanças.</p>\n<ul class=\"simple\">\n<li><p>Suporte para a possibilidade de chamar o <code class=\"docutils literal notranslate\">SQLCompiler</code> diretamente como um alias para o seu método <code class=\"docutils literal notranslate\">quote_name_unless_alias</code>  será removido.</p></li>\n<li><p>As tags de template <code class=\"docutils literal notranslate\">cycle</code> and <code class=\"docutils literal notranslate\">firstof</code> serão removidas da biblioteca de tags de template   <code class=\"docutils literal notranslate\">future</code>.</p></li>\n<li><p><code class=\"docutils literal notranslate\">django.conf.urls.patterns()</code> será removido.</p></li>\n<li><p>Suporte para o argumento <code class=\"docutils literal notranslate\">prefix</code> do <code class=\"docutils literal notranslate\">django.conf.urls.i18n.i18n_patterns()</code> será removido.</p></li>\n<li><p><code class=\"docutils literal notranslate\">SimpleTestCase.urls</code> será removido.</p></li>\n<li><p>Usar uma contagem incorreta de valores despacotados em uma tag de template <code class=\"docutils literal notranslate\">for</code> irá lançar uma exceção ao invés de falhar silenciosamente.</p></li>\n<li><p>A habilidade de inverter URLs usando a notação de ponto para definir o “caminho” Python será removida.</p></li>\n<li><p>A habilidade de usar um caminho Python contendo pontos para os settings <code class=\"docutils literal notranslate\">LOGIN_URL</code> and <code class=\"docutils literal notranslate\">LOGIN_REDIRECT_URL</code> será removida.</p></li>\n<li><p>Suporte para o módulo <a class=\"reference external\" href=\"https://docs.python.org/3/library/optparse.html#module-optparse\" title=\"(em Python v3.14)\"><code class=\"xref py py-mod docutils literal notranslate\">optparse</code></a> será descartado para custom management commands (trocado pleo módulo <a class=\"reference external\" href=\"https://docs.python.org/3/library/argparse.html#module-argparse\" title=\"(em Python v3.14)\"><code class=\"xref py py-mod docutils literal notranslate\">argparse</code></a>).</p></li>\n<li><p>A classe <code class=\"docutils literal notranslate\">django.core.management.NoArgsCommand</code> será removida. Use em seu lugar a classe <a class=\"reference internal\" href=\"/pt-br/2.1/howto/custom-management-commands/#django.core.management.BaseCommand\" title=\"django.core.management.BaseCommand\"><code class=\"xref py py-class docutils literal notranslate\">BaseCommand</code></a> que não recebe argumentos por padrão.</p></li>\n<li><p>O módulo <code class=\"docutils literal notranslate\">django.core.context_processors</code> será removido.</p></li>\n<li><p>O módulo <code class=\"docutils literal notranslate\">django.db.models.sql.aggregates</code> será removido.</p></li>\n<li><p>O módulo <code class=\"docutils literal notranslate\">django.contrib.gis.db.models.sql.aggregates</code> será removido.</p></li>\n<li><p>Os métodos e propriedades de <code class=\"docutils literal notranslate\">django.db.sql.query.Query</code> a seguir serão removidas:</p>\n<ul>\n<li><p>Propriedades: <code class=\"docutils literal notranslate\">aggregates</code> e <code class=\"docutils literal notranslate\">aggregate_select</code></p></li>\n<li><p>Métodos: <code class=\"docutils literal notranslate\">add_aggregate</code>, <code class=\"docutils literal notranslate\">set_aggregate_mask</code>, e <code class=\"docutils literal notranslate\">append_aggregate_mask</code>.</p></li>\n</ul>\n</li>\n<li><p><code class=\"docutils literal notranslate\">django.template.resolve_variable</code> será removido.</p></li>\n<li><p>As APIs privadas abaixo serão removidas de <a class=\"reference internal\" href=\"/pt-br/2.1/ref/models/meta/#django.db.models.options.Options\" title=\"django.db.models.options.Options\"><code class=\"xref py py-class docutils literal notranslate\">django.db.models.options.Options</code></a> (<code class=\"docutils literal notranslate\">Model._meta</code>):</p>\n<ul>\n<li><p><code class=\"docutils literal notranslate\">get_field_by_name()</code></p></li>\n<li><p><code class=\"docutils literal notranslate\">get_all_field_names()</code></p></li>\n<li><p><code class=\"docutils literal notranslate\">get_fields_with_model()</code></p></li>\n<li><p><code class=\"docutils literal notranslate\">get_concrete_fields_with_model()</code></p></li>\n<li><p><code class=\"docutils literal notranslate\">get_m2m_with_model()</code></p></li>\n<li><p><code class=\"docutils literal notranslate\">get_all_related_objects()</code></p></li>\n<li><p><code class=\"docutils literal notranslate\">get_all_related_objects_with_model()</code></p></li>\n<li><p><code class=\"docutils literal notranslate\">get_all_related_many_to_many_objects()</code></p></li>\n<li><p><code class=\"docutils literal notranslate\">get_all_related_m2m_objects_with_model()</code></p></li>\n</ul>\n</li>\n<li><p>O argumento <code class=\"docutils literal notranslate\">error_message</code> de <code class=\"docutils literal notranslate\">django.forms.RegexField</code> será removido.</p></li>\n<li><p>O filtro <code class=\"docutils literal notranslate\">unordered_list</code> não irá mais suportar listas do estilo antigo.</p></li>\n<li><p>Suporte a argumentos <code class=\"docutils literal notranslate\">view</code> no formato string para <code class=\"docutils literal notranslate\">url()</code> será removido.</p></li>\n<li><p>O calço de compatibilidade com versões anteriores para renomear <code class=\"docutils literal notranslate\">django.forms.Form._has_changed()</code> para <code class=\"docutils literal notranslate\">has_changed()</code> foi removido.</p></li>\n<li><p>O filter de template <code class=\"docutils literal notranslate\">removetags</code> será removido.</p></li>\n<li><p>As funções <code class=\"docutils literal notranslate\">remove_tags()</code> e <code class=\"docutils literal notranslate\">strip_entities()</code> em <code class=\"docutils literal notranslate\">django.utils.html</code> serão removidas.</p></li>\n<li><p>O argumento <code class=\"docutils literal notranslate\">is_admin_site</code> para <code class=\"docutils literal notranslate\">django.contrib.auth.views.password_reset()</code> será removido.</p></li>\n<li><p><code class=\"docutils literal notranslate\">django.db.models.field.subclassing.SubfieldBase</code> será removido.</p></li>\n<li><p><code class=\"docutils literal notranslate\">django.utils.checksums</code> será removido; suas funcionalidades estão inclusas no <code class=\"docutils literal notranslate\">django-localflavor</code> 1.1+.</p></li>\n<li><p>O atributo <code class=\"docutils literal notranslate\">original_content_type_id</code> em <code class=\"docutils literal notranslate\">django.contrib.admin.helpers.InlineAdminForm</code> será removido.</p></li>\n<li><p>O calço de compatibilidade com versões anteriores para permitir <code class=\"docutils literal notranslate\">FormMixin.get_form()</code> ser definido sem valor padrão para o seu argumento <code class=\"docutils literal notranslate\">form_class</code> foi removido.</p></li>\n<li><p>As configurações abaixo serão removidas:</p>\n<ul>\n<li><p><code class=\"docutils literal notranslate\">ALLOWED_INCLUDE_ROOTS</code></p></li>\n<li><p><code class=\"docutils literal notranslate\">TEMPLATE_CONTEXT_PROCESSORS</code></p></li>\n<li><p><code class=\"docutils literal notranslate\">TEMPLATE_DEBUG</code></p></li>\n<li><p><code class=\"docutils literal notranslate\">TEMPLATE_DIRS</code></p></li>\n<li><p><code class=\"docutils literal notranslate\">TEMPLATE_LOADERS</code></p></li>\n<li><p><code class=\"docutils literal notranslate\">TEMPLATE_STRING_IF_INVALID</code></p></li>\n</ul>\n</li>\n<li><p>O alias de compatibilidade com versões anteriores <code class=\"docutils literal notranslate\">django.template.loader.BaseLoader</code> será removido.</p></li>\n<li><p>Objetos de template do Django retornados por <a class=\"reference internal\" href=\"/pt-br/2.1/topics/templates/#django.template.loader.get_template\" title=\"django.template.loader.get_template\"><code class=\"xref py py-func docutils literal notranslate\">get_template()</code></a>  e <a class=\"reference internal\" href=\"/pt-br/2.1/topics/templates/#django.template.loader.select_template\" title=\"django.template.loader.select_template\"><code class=\"xref py py-func docutils literal notranslate\">select_template()</code></a> não irão mais aceitar um <a class=\"reference internal\" href=\"/pt-br/2.1/ref/templates/api/#django.template.Context\" title=\"django.template.Context\"><code class=\"xref py py-class docutils literal notranslate\">Context</code></a> em seu método <a class=\"reference internal\" href=\"/pt-br/2.1/topics/templates/#django.template.backends.base.Template.render\" title=\"django.template.backends.base.Template.render\"><code class=\"xref py py-meth docutils literal notranslate\">render()</code></a>.</p></li>\n<li><p><a class=\"reference internal\" href=\"/pt-br/2.1/ref/template-response/\"><span class=\"doc\">APIs de resposta de templates</span></a> irão reforçar o uso de  <a class=\"reference external\" href=\"https://docs.python.org/3/library/stdtypes.html#dict\" title=\"(em Python v3.14)\"><code class=\"xref py py-class docutils literal notranslate\">dict</code></a> e objetos de template dependentes de backend ao invés de  <a class=\"reference internal\" href=\"/pt-br/2.1/ref/templates/api/#django.template.Context\" title=\"django.template.Context\"><code class=\"xref py py-class docutils literal notranslate\">Context</code></a> e <a class=\"reference internal\" href=\"/pt-br/2.1/ref/templates/api/#django.template.Template\" title=\"django.template.Template\"><code class=\"xref py py-class docutils literal notranslate\">Template</code></a> respectivamente.</p></li>\n<li><p>O <code class=\"docutils literal notranslate\">current_app</code> parâmetro para as funções e classes abaixo será removido:</p>\n<ul>\n<li><p><code class=\"docutils literal notranslate\">django.shortcuts.render()</code></p></li>\n<li><p><code class=\"docutils literal notranslate\">django.template.Context()</code></p></li>\n<li><p><code class=\"docutils literal notranslate\">django.template.RequestContext()</code></p></li>\n<li><p><code class=\"docutils literal notranslate\">django.template.response.TemplateResponse()</code></p></li>\n</ul>\n</li>\n<li><p>Os parâmetros <code class=\"docutils literal notranslate\">dictionary</code> e <code class=\"docutils literal notranslate\">context_instance</code> para as funções abaixo serão removidos</p>\n<ul>\n<li><p><code class=\"docutils literal notranslate\">django.shortcuts.render()</code></p></li>\n<li><p><code class=\"docutils literal notranslate\">django.shortcuts.render_to_response()</code></p></li>\n<li><p><code class=\"docutils literal notranslate\">django.template.loader.render_to_string()</code></p></li>\n</ul>\n</li>\n<li><p>O parâmetro <code class=\"docutils literal notranslate\">dirs</code> para as funções abaixo será removido:</p>\n<ul>\n<li><p><code class=\"docutils literal notranslate\">django.template.loader.get_template()</code></p></li>\n<li><p><code class=\"docutils literal notranslate\">django.template.loader.select_template()</code></p></li>\n<li><p><code class=\"docutils literal notranslate\">django.shortcuts.render()</code></p></li>\n<li><p><code class=\"docutils literal notranslate\">django.shortcuts.render_to_response()</code></p></li>\n</ul>\n</li>\n<li><p>Verificação de sessão será habilitado independentemente de <code class=\"docutils literal notranslate\">'django.contrib.auth.middleware.SessionAuthenticationMiddleware'</code> estar ou não dentro de <code class=\"docutils literal notranslate\">MIDDLEWARE_CLASSES</code>.</p></li>\n<li><p>O atributo privado <code class=\"docutils literal notranslate\">django.db.models.Field.related</code> será removido.</p></li>\n<li><p>A opção <code class=\"docutils literal notranslate\">--list</code> do comando <code class=\"docutils literal notranslate\">migrate</code> será removido.</p></li>\n<li><p>A tag template <code class=\"docutils literal notranslate\">ssi</code> será removida.</p></li>\n<li><p>Suporte para o operador de comparação <code class=\"docutils literal notranslate\">=</code> na tag de template <code class=\"docutils literal notranslate\">if</code> será removido.</p></li>\n<li><p>O calço de compatibilidade com versões anteriores para permitir <code class=\"docutils literal notranslate\">Storage.get_available_name()</code> e <code class=\"docutils literal notranslate\">Storage.save()</code> ser definido sem um argumento <code class=\"docutils literal notranslate\">max_length</code> será removido.</p></li>\n<li><p>Suporte para a sintaxe legada  <code class=\"docutils literal notranslate\">%(&lt;foo&gt;)s</code> no <code class=\"docutils literal notranslate\">ModelFormMixin.success_url</code> será removido.</p></li>\n<li><p>Os métodos do <code class=\"docutils literal notranslate\">GeoQuerySet</code> de agregação <code class=\"docutils literal notranslate\">collect()</code>, <code class=\"docutils literal notranslate\">extent()</code>, <code class=\"docutils literal notranslate\">extent3d()</code>, <code class=\"docutils literal notranslate\">make_line()</code>, e <code class=\"docutils literal notranslate\">unionagg()</code> serão removidos.</p></li>\n<li><p>A abilidade para especificar <code class=\"docutils literal notranslate\">ContentType.name</code> ao criar uma instância será removido.</p></li>\n<li><p>Suporte para a assinatura antiga de <code class=\"docutils literal notranslate\">allow_migrate</code> será removido. Ele mudou de <code class=\"docutils literal notranslate\">allow_migrate(self, db, model)</code> para <code class=\"docutils literal notranslate\">allow_migrate(self, db, app_label, model_name=None, **hints)</code>.</p></li>\n<li><p>Suporte para a sintaxe de <code class=\"docutils literal notranslate\">{% cycle %}</code> que utiliza argumentos separados por vírgulas será removido.</p></li>\n<li><p>O aviso que <a class=\"reference internal\" href=\"/pt-br/2.1/topics/signing/#django.core.signing.Signer\" title=\"django.core.signing.Signer\"><code class=\"xref py py-class docutils literal notranslate\">Signer</code></a> emite quando é fornecido um separador inválido irá se tornar uma exceção.</p></li>\n</ul>\n</section>\n<section id=\"deprecation-removed-in-1-9\">\n<span id=\"id5\"></span><h2>1.9<a class=\"heading-anchor\" href=\"#deprecation-removed-in-1-9\"><span class=\"visually-hidden\">Link para este cabeçalho</span><span aria-hidden=\"true\">#</span></a></h2>\n<p>Veja as <a class=\"reference internal\" href=\"/pt-br/2.1/releases/1.7/#deprecated-features-1-7\"><span class=\"std std-ref\">notas da release do Django 1.7</span></a> para mais detalhes nessas mudanças.</p>\n<ul class=\"simple\">\n<li><p><code class=\"docutils literal notranslate\">django.utils.dictconfig</code> será removido.</p></li>\n<li><p><code class=\"docutils literal notranslate\">django.utils.importlib</code> será removido.</p></li>\n<li><p><code class=\"docutils literal notranslate\">django.utils.tzinfo</code> será removido.</p></li>\n<li><p><code class=\"docutils literal notranslate\">django.utils.unittest</code> será removido.</p></li>\n<li><p>O comando <code class=\"docutils literal notranslate\">syncdb</code> será removido.</p></li>\n<li><p><code class=\"docutils literal notranslate\">django.db.models.signals.pre_syncdb</code> e <code class=\"docutils literal notranslate\">django.db.models.signals.post_syncdb</code> serão removidos.</p></li>\n<li><p><code class=\"docutils literal notranslate\">allow_syncdb</code> em roteadores de bancos de dados não irão mais ficar automaticamente  <code class=\"docutils literal notranslate\">allow_migrate</code>.</p></li>\n<li><p>A sincronização automática de apps sem migrações será removida. Migrations se tornará  compulsória para todos os apps a não ser que você passe a opção <code class=\"docutils literal notranslate\">--run-syncdb</code> para o comando <code class=\"docutils literal notranslate\">migrate</code>.</p></li>\n<li><p>Os SQL management commands para apps sem migrações, sql`, <code class=\"docutils literal notranslate\">sqlall</code>, <code class=\"docutils literal notranslate\">sqlclear</code>, <code class=\"docutils literal notranslate\">sqldropindexes</code>, and <code class=\"docutils literal notranslate\">sqlindexes</code>, será removido.</p></li>\n<li><p>Suporte para carregamento automático de fixtures <code class=\"docutils literal notranslate\">initial_data</code> e dados SQL iniciais serão removidos.</p></li>\n<li><p>Todos os modelos precisarão ser definidos dentro de aplicações instaladas ou declarados explicitamente <a class=\"reference internal\" href=\"/pt-br/2.1/ref/models/options/#django.db.models.Options.app_label\" title=\"django.db.models.Options.app_label\"><code class=\"xref py py-attr docutils literal notranslate\">app_label</code></a>. Além disso, não será possível importá-los antes de suas aplicações serem carregadas. Em particular, não será possível importar modelos dentro do pacote root de suas aplicações.</p></li>\n<li><p>O model e form <code class=\"docutils literal notranslate\">IPAddressField</code> serão removidos. Um campo stub irá permanecer para compatibilidade com migrations passadas.</p></li>\n<li><p><code class=\"docutils literal notranslate\">AppCommand.handle_app()</code> não será mais suportado.</p></li>\n<li><p><code class=\"docutils literal notranslate\">RequestSite</code> e <code class=\"docutils literal notranslate\">get_current_site()</code> não irão mais ser importáveis de <code class=\"docutils literal notranslate\">django.contrib.sites.models</code>.</p></li>\n<li><p>Suporte a FastCGI pelo comando de administração <code class=\"docutils literal notranslate\">runfcgi</code> será removido. Por favor faça deploy do seu projeto usando WSGI.</p></li>\n<li><p><code class=\"docutils literal notranslate\">django.utils.datastructures.SortedDict</code> será removido. Utilize <a class=\"reference external\" href=\"https://docs.python.org/3/library/collections.html#collections.OrderedDict\" title=\"(em Python v3.14)\"><code class=\"xref py py-class docutils literal notranslate\">collections.OrderedDict</code></a> da biblioteca padrão do Python.</p></li>\n<li><p><code class=\"docutils literal notranslate\">ModelAdmin.declared_fieldsets</code> será removido.</p></li>\n<li><p>Instâncias de <code class=\"docutils literal notranslate\">util.py</code> no código base do Django foram renomeadas para <code class=\"docutils literal notranslate\">utils.py</code> em um esforço para unificar todos as referências a util e utils. Os módulos que fornecem compatibilidade com versões anteriores serão removidos.</p>\n<ul>\n<li><p><code class=\"docutils literal notranslate\">django.contrib.admin.util</code></p></li>\n<li><p><code class=\"docutils literal notranslate\">django.contrib.gis.db.backends.util</code></p></li>\n<li><p><code class=\"docutils literal notranslate\">django.db.backends.util</code></p></li>\n<li><p><code class=\"docutils literal notranslate\">django.forms.util</code></p></li>\n</ul>\n</li>\n<li><p><code class=\"docutils literal notranslate\">ModelAdmin.get_formsets</code> será removido.</p></li>\n<li><p>O calço de compatibilidade com versões anteriores introduzido para renomear o método <code class=\"docutils literal notranslate\">BaseMemcachedCache._get_memcache_timeout()</code> para <code class=\"docutils literal notranslate\">get_backend_timeout()</code> foi removido.</p></li>\n<li><p>As opções``–natural`` e <code class=\"docutils literal notranslate\">-n</code> para <a class=\"reference internal\" href=\"/pt-br/2.1/ref/django-admin/#django-admin-dumpdata\"><code class=\"xref std std-djadmin docutils literal notranslate\">dumpdata</code></a> serão removidas.</p></li>\n<li><p>O argumento <code class=\"docutils literal notranslate\">use_natural_keys</code> para <code class=\"docutils literal notranslate\">serializers.serialize()</code> será removido.</p></li>\n<li><p>A API privada <code class=\"docutils literal notranslate\">django.forms.forms.get_declared_fields()</code> será removida.</p></li>\n<li><p>A abilidade de utilizar o <code class=\"docutils literal notranslate\">SplitDateTimeWidget</code> com <code class=\"docutils literal notranslate\">DateTimeField</code> será removido.</p></li>\n<li><p>A propriedade <code class=\"docutils literal notranslate\">WSGIRequest.REQUEST</code> será removida.</p></li>\n<li><p>A classe <code class=\"docutils literal notranslate\">django.utils.datastructures.MergeDict</code> será removida.</p></li>\n<li><p>Os códigos de linguagens <code class=\"docutils literal notranslate\">zh-cn</code> e <code class=\"docutils literal notranslate\">zh-tw</code> serão removidos e trocados pelos códigos de linguagem <code class=\"docutils literal notranslate\">zh-hans</code> e <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>zh-hant``respectivamente.</p></li>\n<li><p>O “internal” <code class=\"docutils literal notranslate\">django.utils.functional.memoize</code> será removido.</p></li>\n<li><p><code class=\"docutils literal notranslate\">django.core.cache.get_cache</code> será removido. Ao invés dele, adicione as entradas convenientes a <a class=\"reference internal\" href=\"/pt-br/2.1/ref/settings/#std-setting-CACHES\"><code class=\"xref std std-setting docutils literal notranslate\">CACHES</code></a> e use <a class=\"reference internal\" href=\"/pt-br/2.1/topics/cache/#django.core.cache.caches\" title=\"django.core.cache.caches\"><code class=\"xref py py-data docutils literal notranslate\">django.core.cache.caches</code></a>.</p></li>\n<li><p><code class=\"docutils literal notranslate\">django.db.models.loading</code> será removido.</p></li>\n<li><p>Passar argumentos que possam ser invocados para querysets não será mais possível.</p></li>\n<li><p><code class=\"docutils literal notranslate\">BaseCommand.requires_model_validation``será removido em favor de&#160; ``requires_system_checks</code>. Admin validators serão trocados por admin checks.</p></li>\n<li><p>Os atributos <code class=\"docutils literal notranslate\">ModelAdmin.validator_class</code> e <code class=\"docutils literal notranslate\">default_validator_class</code> serão removidos.</p></li>\n<li><p><code class=\"docutils literal notranslate\">ModelAdmin.validate()</code> será removido.</p></li>\n<li><p><code class=\"docutils literal notranslate\">django.db.backends.DatabaseValidation.validate_field</code> será removido em favor do método <code class=\"docutils literal notranslate\">check_field</code>.</p></li>\n<li><p>O comando de administração <code class=\"docutils literal notranslate\">validate</code> será removido.</p></li>\n<li><p><code class=\"docutils literal notranslate\">django.utils.module_loading.import_by_path</code> será removido em favor de``django.utils.module_loading.import_string``.</p></li>\n<li><p>As tags de template `ssi` e <code class=\"docutils literal notranslate\">url</code> serão removidas da biblioteca de tags de template <code class=\"docutils literal notranslate\">future</code> (usado durante o período de depreciação 1.3/1.4).</p></li>\n<li><p><code class=\"docutils literal notranslate\">django.utils.text.javascript_quote</code> será removido.</p></li>\n<li><p>A configuração de bancos de dados de teste com entradas independentes nos settings dos bancos de dados, prefixado com <code class=\"docutils literal notranslate\">TEST_</code>, não será mais suportado.</p></li>\n<li><p>A opção cache_choices para <a class=\"reference internal\" href=\"/pt-br/2.1/ref/forms/fields/#django.forms.ModelChoiceField\" title=\"django.forms.ModelChoiceField\"><code class=\"xref py py-class docutils literal notranslate\">ModelChoiceField</code></a> e <a class=\"reference internal\" href=\"/pt-br/2.1/ref/forms/fields/#django.forms.ModelMultipleChoiceField\" title=\"django.forms.ModelMultipleChoiceField\"><code class=\"xref py py-class docutils literal notranslate\">ModelMultipleChoiceField</code></a> será removido.</p></li>\n<li><p>O valor padrão do <a class=\"reference internal\" href=\"/pt-br/2.1/ref/class-based-views/base/#django.views.generic.base.RedirectView.permanent\" title=\"django.views.generic.base.RedirectView.permanent\"><code class=\"xref py py-attr docutils literal notranslate\">RedirectView.permanent</code></a> atributo irá mudar de <code class=\"docutils literal notranslate\">True</code> para <code class=\"docutils literal notranslate\">False</code>.</p></li>\n<li><p><code class=\"docutils literal notranslate\">django.contrib.sitemaps.FlatPageSitemap</code> será removido em favor de <code class=\"docutils literal notranslate\">django.contrib.flatpages.sitemaps.FlatPageSitemap</code>.</p></li>\n<li><p>A API privada <code class=\"docutils literal notranslate\">django.test.utils.TestTemplateLoader</code> será removida.</p></li>\n<li><p>O módulo <code class=\"docutils literal notranslate\">django.contrib.contenttypes.generic</code> será removido.</p></li>\n<li><p>As APIs privadas <code class=\"docutils literal notranslate\">django.db.models.sql.where.WhereNode.make_atom()</code> e <code class=\"docutils literal notranslate\">django.db.models.sql.where.Constraint</code> serão removidos.</p></li>\n</ul>\n</section>\n<section id=\"deprecation-removed-in-1-8\">\n<span id=\"id6\"></span><h2>1.8<a class=\"heading-anchor\" href=\"#deprecation-removed-in-1-8\"><span class=\"visually-hidden\">Link para este cabeçalho</span><span aria-hidden=\"true\">#</span></a></h2>\n<p>Veja as <a class=\"reference internal\" href=\"/pt-br/2.1/releases/1.6/#deprecated-features-1-6\"><span class=\"std std-ref\">notas de release Django 1.6</span></a> para mais detalhes sobre essas mudanças.</p>\n<ul class=\"simple\">\n<li><p><code class=\"docutils literal notranslate\">django.contrib.comments</code> será removido.</p></li>\n<li><p>As APIs de gerenciamento de transações seguintes serão removidas:</p>\n<ul>\n<li><p><code class=\"docutils literal notranslate\">TransactionMiddleware</code>,</p></li>\n<li><p>Os decorators e context managers <code class=\"docutils literal notranslate\">autocommit</code>, <code class=\"docutils literal notranslate\">commit_on_success</code>, e <code class=\"docutils literal notranslate\">commit_manually</code>, definidos em <code class=\"docutils literal notranslate\">django.db.transaction</code>,</p></li>\n<li><p>As funções <code class=\"docutils literal notranslate\">commit_unless_managed</code> e <code class=\"docutils literal notranslate\">rollback_unless_managed</code>, também definidos em <code class=\"docutils literal notranslate\">django.db.transaction</code>,</p></li>\n<li><p>O setting <code class=\"docutils literal notranslate\">TRANSACTIONS_MANAGED</code>.</p></li>\n</ul>\n</li>\n<li><p>As tags de template <a class=\"reference internal\" href=\"/pt-br/2.1/ref/templates/builtins/#std-templatetag-cycle\"><code class=\"xref std std-ttag docutils literal notranslate\">cycle</code></a> e <a class=\"reference internal\" href=\"/pt-br/2.1/ref/templates/builtins/#std-templatetag-firstof\"><code class=\"xref std std-ttag docutils literal notranslate\">firstof</code></a> irão auto-escapar seus argumentos. Em 1.6 e 1.7, esse comportamento é providenciado pela versão dessas tags da biblioteca de tags de template <code class=\"docutils literal notranslate\">future</code>.</p></li>\n<li><p>The <code class=\"docutils literal notranslate\">SEND_BROKEN_LINK_EMAILS</code> setting will be removed. Add the\n<a class=\"reference internal\" href=\"/pt-br/2.1/ref/middleware/#django.middleware.common.BrokenLinkEmailsMiddleware\" title=\"django.middleware.common.BrokenLinkEmailsMiddleware\"><code class=\"xref py py-class docutils literal notranslate\">django.middleware.common.BrokenLinkEmailsMiddleware</code></a> middleware to\nyour <code class=\"docutils literal notranslate\">MIDDLEWARE_CLASSES</code> setting instead.</p></li>\n<li><p><code class=\"docutils literal notranslate\">django.middleware.doc.XViewMiddleware</code> será removido. Ao invés dele, use <code class=\"docutils literal notranslate\">django.contrib.admindocs.middleware.XViewMiddleware</code>.</p></li>\n<li><p><code class=\"docutils literal notranslate\">Model._meta.module_name</code> foi renomeado para <code class=\"docutils literal notranslate\">model_name</code>.</p></li>\n<li><p>Removido o calço de compatibilidade com versões anteriores introduzido para renomear <code class=\"docutils literal notranslate\">get_query_set</code> e métodos do queryset similares. Isso afeta as seguintes classes: <code class=\"docutils literal notranslate\">BaseModelAdmin</code>, <code class=\"docutils literal notranslate\">ChangeList</code>, <code class=\"docutils literal notranslate\">BaseCommentNode</code>, <code class=\"docutils literal notranslate\">GenericForeignKey</code>, <code class=\"docutils literal notranslate\">Manager</code>, <code class=\"docutils literal notranslate\">SingleRelatedObjectDescriptor</code> e <code class=\"docutils literal notranslate\">ReverseSingleRelatedObjectDescriptor</code>.</p></li>\n<li><p>Remove o calço de compatibilidade com versões anteriores introduzido para renomear os atributos <code class=\"docutils literal notranslate\">ChangeList.root_query_set</code> e <code class=\"docutils literal notranslate\">ChangeList.query_set</code>.</p></li>\n<li><p><code class=\"docutils literal notranslate\">django.views.defaults.shortcut</code> será removido, como parte do objetivo de remover todas as referências a <code class=\"docutils literal notranslate\">django.contrib</code> do núcleo do banco de dados do Django. Ao invés dele use <code class=\"docutils literal notranslate\">django.contrib.contenttypes.views.shortcut</code>. <code class=\"docutils literal notranslate\">django.conf.urls.shortcut</code> também será removido.</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>As APIs privadas seguintes serão removidas:</p>\n<ul>\n<li><p><code class=\"docutils literal notranslate\">django.db.backend</code></p></li>\n<li><p><code class=\"docutils literal notranslate\">django.db.close_connection()</code></p></li>\n<li><p><code class=\"docutils literal notranslate\">django.db.backends.creation.BaseDatabaseCreation.set_autocommit()</code></p></li>\n<li><p><code class=\"docutils literal notranslate\">django.db.transaction.is_managed()</code></p></li>\n<li><p><code class=\"docutils literal notranslate\">django.db.transaction.managed()</code></p></li>\n</ul>\n</li>\n<li><p><code class=\"docutils literal notranslate\">django.forms.widgets.RadioInput</code> será removido em favor de <code class=\"docutils literal notranslate\">django.forms.widgets.RadioChoiceInput</code>.</p></li>\n<li><p>O módulo <code class=\"docutils literal notranslate\">django.test.simple</code> e a classe <code class=\"docutils literal notranslate\">django.test.simple.DjangoTestSuiteRunner</code> será removida. Utilize no lugar dele <code class=\"docutils literal notranslate\">django.test.runner.DiscoverRunner</code>.</p></li>\n<li><p>O módulo <code class=\"docutils literal notranslate\">django.test._doctest</code> será removido. Ao invés disso use o módulo doctest module da biblioteca padrão do Python.</p></li>\n<li><p>O setting <code class=\"docutils literal notranslate\">CACHE_MIDDLEWARE_ANONYMOUS_ONLY</code> será removido.</p></li>\n<li><p>Utilização do <em>Hold down “Control”, or “Command” em um Mac, para selecionar mais de um.</em> string para sobreescrever ou apensar para o <code class=\"docutils literal notranslate\">help_text</code> providenciado pelos usuários em forms para campos de um model ManyToMany não serão mais realizados pelo Django seja na camada do model ou na camada de forms.</p></li>\n<li><p>A permissão  <code class=\"docutils literal notranslate\">Model._meta.get_(add|change|delete)_permission</code> será removida.</p></li>\n<li><p>A chave de sessão <code class=\"docutils literal notranslate\">django_language</code> não será mais lida para compatibilidade com versões anteriores.</p></li>\n<li><p>Geographic Sitemaps será removido (<code class=\"docutils literal notranslate\">django.contrib.gis.sitemaps.views.index</code> e <code class=\"docutils literal notranslate\">django.contrib.gis.sitemaps.views.sitemap</code>).</p></li>\n<li><p><code class=\"docutils literal notranslate\">django.utils.html.fix_ampersands</code>, o filtro de template <code class=\"docutils literal notranslate\">fix_ampersands</code> e <code class=\"docutils literal notranslate\">django.utils.html.clean_html</code> serão removidos seguindo uma depreciação acelerada.</p></li>\n</ul>\n</section>\n<section id=\"deprecation-removed-in-1-7\">\n<span id=\"id7\"></span><h2>1.7<a class=\"heading-anchor\" href=\"#deprecation-removed-in-1-7\"><span class=\"visually-hidden\">Link para este cabeçalho</span><span aria-hidden=\"true\">#</span></a></h2>\n<p>Veja as <a class=\"reference internal\" href=\"/pt-br/2.1/releases/1.5/#deprecated-features-1-5\"><span class=\"std std-ref\">notas da release do Django 1.5</span></a> para mais detalhes sobre essas mudanças.</p>\n<ul class=\"simple\">\n<li><p>O módulo <code class=\"docutils literal notranslate\">django.utils.simplejson</code> será removido. A biblioteca padrão provê <a class=\"reference external\" href=\"https://docs.python.org/3/library/json.html#module-json\" title=\"(em Python v3.14)\"><code class=\"xref py py-mod docutils literal notranslate\">json</code></a> que deve ser usado em seu lugar.</p></li>\n<li><p>A função <code class=\"docutils literal notranslate\">django.utils.itercompat.product</code> será removida. A versão embutida no Python deve ser usada em seu lugar.</p></li>\n<li><p>Auto-correção dos settings INSTALLED_APPS e TEMPLATE_DIRS quando eles são especificados como uma string ao invés de uma tupla será removido e irá lançar uma exceção.</p></li>\n<li><p>O argumento <code class=\"docutils literal notranslate\">mimetype</code> para métodos <code class=\"docutils literal notranslate\">__init__</code> de <a class=\"reference internal\" href=\"/pt-br/2.1/ref/request-response/#django.http.HttpResponse\" title=\"django.http.HttpResponse\"><code class=\"xref py py-class docutils literal notranslate\">HttpResponse</code></a>, <a class=\"reference internal\" href=\"/pt-br/2.1/ref/template-response/#django.template.response.SimpleTemplateResponse\" title=\"django.template.response.SimpleTemplateResponse\"><code class=\"xref py py-class docutils literal notranslate\">SimpleTemplateResponse</code></a>, e <a class=\"reference internal\" href=\"/pt-br/2.1/ref/template-response/#django.template.response.TemplateResponse\" title=\"django.template.response.TemplateResponse\"><code class=\"xref py py-class docutils literal notranslate\">TemplateResponse</code></a>, será removido. <code class=\"docutils literal notranslate\">content_type</code> deve ser usado em seu lugar. Isso também se aplica ao atalho <code class=\"docutils literal notranslate\">render_to_response()</code> e as views de sitemap, <a class=\"reference internal\" href=\"/pt-br/2.1/ref/contrib/sitemaps/#django.contrib.sitemaps.views.index\" title=\"django.contrib.sitemaps.views.index\"><code class=\"xref py py-func docutils literal notranslate\">index()</code></a> e <a class=\"reference internal\" href=\"/pt-br/2.1/ref/contrib/sitemaps/#django.contrib.sitemaps.views.sitemap\" title=\"django.contrib.sitemaps.views.sitemap\"><code class=\"xref py py-func docutils literal notranslate\">sitemap()</code></a>.</p></li>\n<li><p>Quando <a class=\"reference internal\" href=\"/pt-br/2.1/ref/request-response/#django.http.HttpResponse\" title=\"django.http.HttpResponse\"><code class=\"xref py py-class docutils literal notranslate\">HttpResponse</code></a> é instanciado com um iterator, ou quando <a class=\"reference internal\" href=\"/pt-br/2.1/ref/request-response/#django.http.HttpResponse.content\" title=\"django.http.HttpResponse.content\"><code class=\"xref py py-attr docutils literal notranslate\">content</code></a> é setado para um iterator, esse iterator será imediatamente consumido.</p></li>\n<li><p>O setting <code class=\"docutils literal notranslate\">AUTH_PROFILE_MODULE</code>, e o método <code class=\"docutils literal notranslate\">get_profile()</code> do model User serão removidos.</p></li>\n<li><p>O comando de gerenciamento <code class=\"docutils literal notranslate\">cleanup</code> será removido. Ele foi trocado por <code class=\"docutils literal notranslate\">clearsessions</code>.</p></li>\n<li><p>O script <code class=\"docutils literal notranslate\">daily_cleanup.py</code> será removido.</p></li>\n<li><p>O argumento chave <code class=\"docutils literal notranslate\">depth</code> será removido de <a class=\"reference internal\" href=\"/pt-br/2.1/ref/models/querysets/#django.db.models.query.QuerySet.select_related\" title=\"django.db.models.query.QuerySet.select_related\"><code class=\"xref py py-meth docutils literal notranslate\">select_related()</code></a>.</p></li>\n<li><p>As funções não documentadas <code class=\"docutils literal notranslate\">get_warnings_state()</code>/<code class=\"docutils literal notranslate\">restore_warnings_state()</code> do <a class=\"reference internal\" href=\"/pt-br/2.1/topics/testing/advanced/#module-django.test.utils\" title=\"django.test.utils: Helpers to write custom test runners.\"><code class=\"xref py py-mod docutils literal notranslate\">django.test.utils</code></a> e os métodos <code class=\"docutils literal notranslate\">save_warnings_state()</code>/ <code class=\"docutils literal notranslate\">restore_warnings_state()</code> <a class=\"reference internal\" href=\"/pt-br/2.1/topics/testing/tools/#django-testcase-subclasses\"><span class=\"std std-ref\">django.test.*TestCase</span></a> foram depreciados. Use o <a class=\"reference external\" href=\"https://docs.python.org/3/library/warnings.html#warnings.catch_warnings\" title=\"(em Python v3.14)\"><code class=\"xref py py-class docutils literal notranslate\">warnings.catch_warnings</code></a> context manager disponível a partir do Python 2.6 em seu lugar.</p></li>\n<li><p>O método não documentado <code class=\"docutils literal notranslate\">check_for_test_cookie</code> na <a class=\"reference internal\" href=\"/pt-br/2.1/topics/auth/default/#django.contrib.auth.forms.AuthenticationForm\" title=\"django.contrib.auth.forms.AuthenticationForm\"><code class=\"xref py py-class docutils literal notranslate\">AuthenticationForm</code></a> será removido seguindo uma depreciação acelerada. Usuários fazendo subclasses desse form devem remover as chamadas para esse método, e ao invés disso garantir que suas views relacionadas a autenticação são protegidas de CSRF, o que garante que os cookies estão habilitados.</p></li>\n<li><p>The version of <code class=\"docutils literal notranslate\">django.contrib.auth.views.password_reset_confirm()</code> that\nsupports base36 encoded user IDs\n(<code class=\"docutils literal notranslate\">django.contrib.auth.views.password_reset_confirm_uidb36</code>) will be\nremoved. If your site has been running Django 1.6 for more than\n<a class=\"reference internal\" href=\"/pt-br/2.1/ref/settings/#std-setting-PASSWORD_RESET_TIMEOUT_DAYS\"><code class=\"xref std std-setting docutils literal notranslate\">PASSWORD_RESET_TIMEOUT_DAYS</code></a>, this change will have no effect. If\nnot, then any password reset links generated before you upgrade to Django 1.7\nwon’t work after the upgrade.</p></li>\n<li><p>O mix-in <code class=\"docutils literal notranslate\">django.utils.encoding.StrAndUnicode` será removido. Em seu lugar defina um método ``__str__</code> e aplique o decorator  <a class=\"reference internal\" href=\"/pt-br/2.1/ref/utils/#django.utils.encoding.python_2_unicode_compatible\" title=\"django.utils.encoding.python_2_unicode_compatible\"><code class=\"xref py py-func docutils literal notranslate\">python_2_unicode_compatible()</code></a>.</p></li>\n</ul>\n</section>\n<section id=\"deprecation-removed-in-1-6\">\n<span id=\"id8\"></span><h2>1.6<a class=\"heading-anchor\" href=\"#deprecation-removed-in-1-6\"><span class=\"visually-hidden\">Link para este cabeçalho</span><span aria-hidden=\"true\">#</span></a></h2>\n<p>Veja as <a class=\"reference internal\" href=\"/pt-br/2.1/releases/1.4/#deprecated-features-1-4\"><span class=\"std std-ref\">notas da release do Django 1.4</span></a> para mais detalhes sobre essas mudanças.</p>\n<ul class=\"simple\">\n<li><p><code class=\"docutils literal notranslate\">django.contrib.databrowse</code> será removido.</p></li>\n<li><p><code class=\"docutils literal notranslate\">django.contrib.localflavor</code> será removido seguindo uma depreciação acelerada.</p></li>\n<li><p><code class=\"docutils literal notranslate\">django.contrib.markup</code> será removido seguindo uma depreciação acelerada.</p></li>\n<li><p>Os módulos de compatibilidade <code class=\"docutils literal notranslate\">django.utils.copycompat</code> e <code class=\"docutils literal notranslate\">django.utils.hashcompat</code> assim como as funções <code class=\"docutils literal notranslate\">django.utils.itercompat.all</code> e <code class=\"docutils literal notranslate\">django.utils.itercompat.any</code> serão removidos. Em seu lugar utiize as versões embutidas no Python.</p></li>\n<li><p>Os decorators <code class=\"docutils literal notranslate\">csrf_response_exempt</code> e <code class=\"docutils literal notranslate\">csrf_view_exempt</code> serão removidos. Desde a versão 1.4 <code class=\"docutils literal notranslate\">csrf_response_exempt</code> tem sido um no-op (ele retorna a mesma função), e <code class=\"docutils literal notranslate\">csrf_view_exempt</code> tem sido um sinônimo para <code class=\"docutils literal notranslate\">django.views.decorators.csrf.csrf_exempt</code>, que deve ser usado para trocá-lo.</p></li>\n<li><p>O backend <code class=\"docutils literal notranslate\">django.core.cache.backends.memcached.CacheClass</code> foi dividido em dois no Django 1.3 para introduzir o suporte a PyLibMC. O histórico <code class=\"docutils literal notranslate\">CacheClass</code> será removido em favor de <code class=\"docutils literal notranslate\">django.core.cache.backends.memcached.MemcachedCache</code>.</p></li>\n<li><p>Os objetos <code class=\"docutils literal notranslate\">django.contrib.localflavor.uk</code> prefixados com UK só serão acessíveis através de seus nomes prefixados com GB (GB é o código ISO 3166 corretp para o Reino Unido).</p></li>\n<li><p>Os settings  <code class=\"docutils literal notranslate\">IGNORABLE_404_STARTS</code> e <code class=\"docutils literal notranslate\">IGNORABLE_404_ENDS</code> foram substituídos por <a class=\"reference internal\" href=\"/pt-br/2.1/ref/settings/#std-setting-IGNORABLE_404_URLS\"><code class=\"xref std std-setting docutils literal notranslate\">IGNORABLE_404_URLS</code></a> na release 1.4. Eles serão removidos.</p></li>\n<li><p>O form wizard foi refatorado para usar views baseads em classes com backends plugáveis na 1.4. A implementação prévia será removida.</p></li>\n<li><p>Formas legadas de chamar <a class=\"reference internal\" href=\"/pt-br/2.1/topics/cache/#django.views.decorators.cache.cache_page\" title=\"django.views.decorators.cache.cache_page\"><code class=\"xref py py-func docutils literal notranslate\">cache_page()</code></a> será removida.</p></li>\n<li><p>O calço de compatibilidade para adicionar automaticamente um filtro de debug-false para o logging handler <code class=\"docutils literal notranslate\">'mail_admins'</code> será removido. O setting <a class=\"reference internal\" href=\"/pt-br/2.1/ref/settings/#std-setting-LOGGING\"><code class=\"xref std std-setting docutils literal notranslate\">LOGGING</code></a> deve incluir esse filtro explicitamente se ele for desejado.</p></li>\n<li><p>As funções embutidas de truncamento <code class=\"docutils literal notranslate\">django.utils.text.truncate_words()</code> e <code class=\"docutils literal notranslate\">django.utils.text.truncate_html_words()</code> serão removidas em favor da classe <code class=\"docutils literal notranslate\">django.utils.text.Truncator</code>.</p></li>\n<li><p>A classe <code class=\"docutils literal notranslate\">django.contrib.gis.geoip.GeoIP</code> foi movida para <code class=\"docutils literal notranslate\">django.contrib.gis.geoip</code> na 1.4 – o atalho em <code class=\"docutils literal notranslate\">django.contrib.gis.utils</code> será removido.</p></li>\n<li><p><code class=\"docutils literal notranslate\">django.conf.urls.defaults</code> will be removed. The functions\n<code class=\"docutils literal notranslate\">include()</code>, <code class=\"docutils literal notranslate\">patterns()</code>, and <code class=\"docutils literal notranslate\">url()</code>, plus\n<a class=\"reference internal\" href=\"/pt-br/2.1/ref/urls/#django.conf.urls.handler404\" title=\"django.conf.urls.handler404\"><code class=\"xref py py-data docutils literal notranslate\">handler404</code></a> and <a class=\"reference internal\" href=\"/pt-br/2.1/ref/urls/#django.conf.urls.handler500\" title=\"django.conf.urls.handler500\"><code class=\"xref py py-data docutils literal notranslate\">handler500</code></a>\nare now available through <code class=\"docutils literal notranslate\">django.conf.urls</code>.</p></li>\n<li><p>As funções <code class=\"docutils literal notranslate\">setup_environ()</code> e <code class=\"docutils literal notranslate\">execute_manager()</code> serão removidas do <a class=\"reference internal\" href=\"/pt-br/2.1/howto/custom-management-commands/#module-django.core.management\" title=\"django.core.management\"><code class=\"xref py py-mod docutils literal notranslate\">django.core.management</code></a>. Isso também significa que o velho (pre-1.4) estilo do arquivo <code class=\"file docutils literal notranslate\">manage.py</code>  não irá mais funcionar.</p></li>\n<li><p>Ativar as flags <code class=\"docutils literal notranslate\">is_safe</code> e <code class=\"docutils literal notranslate\">needs_autoescape</code> como atributos de funções de filtro de template não será mais suportado.</p></li>\n<li><p>O atributo <code class=\"docutils literal notranslate\">HttpRequest.raw_post_data</code> foi renomeado para <code class=\"docutils literal notranslate\">HttpRequest.body</code> na 1.4. A compatibilidade com versões anteriores será removida – <code class=\"docutils literal notranslate\">HttpRequest.raw_post_data</code> não irá mais funcionar.</p></li>\n<li><p>O valor para o parâmetro <code class=\"docutils literal notranslate\">post_url_continue</code> em <code class=\"docutils literal notranslate\">ModelAdmin.response_add()</code> terá que ser <code class=\"docutils literal notranslate\">None</code> (para redirecionar para novos objetos edit page criados) ou uma url pré-formatada. Formatos de strings, tais como o antigo padrão <code class=\"docutils literal notranslate\">'../%s/'</code>, não serão mais aceitos.</p></li>\n</ul>\n</section>\n<section id=\"deprecation-removed-in-1-5\">\n<span id=\"id9\"></span><h2>1.5<a class=\"heading-anchor\" href=\"#deprecation-removed-in-1-5\"><span class=\"visually-hidden\">Link para este cabeçalho</span><span aria-hidden=\"true\">#</span></a></h2>\n<p>Veja as <a class=\"reference internal\" href=\"/pt-br/2.1/releases/1.3/#deprecated-features-1-3\"><span class=\"std std-ref\">notas de release do Django 1.3</span></a> para mais detalhes sobre essas mudanças.</p>\n<ul class=\"simple\">\n<li><p>Começar o Django sem um <a class=\"reference internal\" href=\"/pt-br/2.1/ref/settings/#std-setting-SECRET_KEY\"><code class=\"xref std std-setting docutils literal notranslate\">SECRET_KEY</code></a> irá resultar em uma exceção ao invés de <code class=\"docutils literal notranslate\">DeprecationWarning</code>. (Isso foi acelerado do caminho usual de depreciação; veja as <a class=\"reference internal\" href=\"/pt-br/2.1/releases/1.4/\"><span class=\"doc\">notas de release do Django 1.4</span></a>.)</p></li>\n<li><p>O request handler <code class=\"docutils literal notranslate\">mod_python</code> será removido. O handler <code class=\"docutils literal notranslate\">mod_wsgi</code> deve ser usado em seu lugar.</p></li>\n<li><p>O atributo de <code class=\"docutils literal notranslate\">template</code> em objetos <code class=\"docutils literal notranslate\">django.test.client.Response</code> retornados por <a class=\"reference internal\" href=\"/pt-br/2.1/topics/testing/tools/#test-client\"><span class=\"std std-ref\">test client</span></a> será removido. O atributo <a class=\"reference internal\" href=\"/pt-br/2.1/topics/testing/tools/#django.test.Response.templates\" title=\"django.test.Response.templates\"><code class=\"xref py py-attr docutils literal notranslate\">templates</code></a> deve ser usado em seu lugar.</p></li>\n<li><p>The <code class=\"docutils literal notranslate\">django.test.simple.DjangoTestRunner</code> will be removed.\nInstead use a <code class=\"docutils literal notranslate\">unittest</code>-native class. The features of the\n<code class=\"docutils literal notranslate\">django.test.simple.DjangoTestRunner</code> (including fail-fast and\nCtrl-C test termination) can be provided by <a class=\"reference external\" href=\"https://docs.python.org/3/library/unittest.html#unittest.TextTestRunner\" title=\"(em Python v3.14)\"><code class=\"xref py py-class docutils literal notranslate\">unittest.TextTestRunner</code></a>.</p></li>\n<li><p>A função não documentada <code class=\"docutils literal notranslate\">django.contrib.formtools.utils.security_hash</code> será removida. Ao invés dela use  <code class=\"docutils literal notranslate\">django.contrib.formtools.utils.form_hmac</code>.</p></li>\n<li><p>Os módulos baseados em funções de view genéricas serão removidos em favor de seus equivalentes baseados em classes, descritos <a class=\"reference internal\" href=\"/pt-br/2.1/topics/class-based-views/\"><span class=\"doc\">aqui</span></a>.</p></li>\n<li><p>O``django.core.servers.basehttp.AdminMediaHandler`` será removido. Em seu lugar use <code class=\"docutils literal notranslate\">django.contrib.staticfiles.handlers.StaticFilesHandler</code>.</p></li>\n<li><p>As bibliotecas de tags de template <code class=\"docutils literal notranslate\">adminmedia</code> e a tag de template <code class=\"docutils literal notranslate\">{% admin_media_prefix %}</code> serão removidas em favor da manipulação genérica de arquivos estáticos. (Isso é mais rápido do que o caminho de depreciação usual; veja as  <a class=\"reference internal\" href=\"/pt-br/2.1/releases/1.4/\"><span class=\"doc\">notas de release do Django 1.4</span></a>.)</p></li>\n<li><p>As tags de template <code class=\"docutils literal notranslate\">url</code> e <code class=\"docutils literal notranslate\">ssi</code> serão modificadas de modo que o primeiro argumento para cada tag é uma variável de template, não uma string implícita. Na 1.4, esse comportamento era fornecido por uma versão da tag dentro da biblioteca de tags <code class=\"docutils literal notranslate\">future</code>.</p></li>\n<li><p>Os comandos de administração <code class=\"docutils literal notranslate\">reset</code> e <code class=\"docutils literal notranslate\">sqlreset</code> serão removidos.</p></li>\n<li><p>Backends de autenticação terão que suportar um usuário inativo sendo passado para todos os métodos que lidem com permissões. O atributo <code class=\"docutils literal notranslate\">supports_inactive_user</code> não será mais verificado e pode ser removido de backends customizados.</p></li>\n<li><p>O <a class=\"reference internal\" href=\"/pt-br/2.1/ref/contrib/gis/geos/#django.contrib.gis.geos.GEOSGeometry.transform\" title=\"django.contrib.gis.geos.GEOSGeometry.transform\"><code class=\"xref py py-meth docutils literal notranslate\">transform()</code></a> irá lançar <a class=\"reference internal\" href=\"/pt-br/2.1/ref/contrib/gis/geos/#django.contrib.gis.geos.GEOSException\" title=\"django.contrib.gis.geos.GEOSException\"><code class=\"xref py py-class docutils literal notranslate\">GEOSException</code></a> quando chamado em uma geometria sem valor SRID.</p></li>\n<li><p><code class=\"docutils literal notranslate\">django.http.CompatCookie</code> será removido em favor de <code class=\"docutils literal notranslate\">django.http.SimpleCookie</code>.</p></li>\n<li><p><code class=\"docutils literal notranslate\">django.core.context_processors.PermWrapper</code> e <code class=\"docutils literal notranslate\">django.core.context_processors.PermLookupDict</code> serão removidos em favor dos correspondentes <code class=\"docutils literal notranslate\">django.contrib.auth.context_processors.PermWrapper</code> e <code class=\"docutils literal notranslate\">django.contrib.auth.context_processors.PermLookupDict</code>, respectivamente.</p></li>\n<li><p>Os settings <a class=\"reference internal\" href=\"/pt-br/2.1/ref/settings/#std-setting-MEDIA_URL\"><code class=\"xref std std-setting docutils literal notranslate\">MEDIA_URL</code></a> ou <a class=\"reference internal\" href=\"/pt-br/2.1/ref/settings/#std-setting-STATIC_URL\"><code class=\"xref std std-setting docutils literal notranslate\">STATIC_URL</code></a> terão que terminar com um slash para garantir que existe uma forma consistente de combinar caminhos nos templates.</p></li>\n<li><p><code class=\"docutils literal notranslate\">django.db.models.fields.URLField.verify_exists</code> será removido. A funcionalidade foi depreciada em 1.3.1 devido a problemas de segurança e performance intratáveis e seguirá um tempo de depreciação ligeiramente acelerado.</p></li>\n<li><p>Traduções localizadas sob o então chamado <em>project path</em> serão ignoradas durante o processo de construção da tradução executado em runtime. O setting  <a class=\"reference internal\" href=\"/pt-br/2.1/ref/settings/#std-setting-LOCALE_PATHS\"><code class=\"xref std std-setting docutils literal notranslate\">LOCALE_PATHS</code></a> pode ser usado para a mesma tarefa quando incluido o caminho do sistema de arquivos para um diretório de <code class=\"docutils literal notranslate\">locale</code> contendo traduções não específicas de apps em seu valor.</p></li>\n<li><p>O app contrib Markup não irá mais suportar versões da biblioteca de Markdown do Python anteriores a 2.1. Uma linha de tempo acelerada será usada já que isso era uma depreciação relacionada a segurança.</p></li>\n<li><p>O setting <code class=\"docutils literal notranslate\">CACHE_BACKEND</code> será removido. O backend (ou os backends) de cache deve ser especificado no setting  <a class=\"reference internal\" href=\"/pt-br/2.1/ref/settings/#std-setting-CACHES\"><code class=\"xref std std-setting docutils literal notranslate\">CACHES</code></a>.</p></li>\n</ul>\n</section>\n<section id=\"deprecation-removed-in-1-4\">\n<span id=\"id10\"></span><h2>1.4<a class=\"heading-anchor\" href=\"#deprecation-removed-in-1-4\"><span class=\"visually-hidden\">Link para este cabeçalho</span><span aria-hidden=\"true\">#</span></a></h2>\n<p>Veja as <a class=\"reference internal\" href=\"/pt-br/2.1/releases/1.2/#deprecated-features-1-2\"><span class=\"std std-ref\">notas de release do Django 1.2</span></a> para mais detalhes sobre essas mudanças.</p>\n<ul class=\"simple\">\n<li><p><code class=\"docutils literal notranslate\">CsrfResponseMiddleware</code> e <code class=\"docutils literal notranslate\">CsrfMiddleware</code> serão removidos. Use a tag de template <code class=\"docutils literal notranslate\">{% csrf_token %}``dentro dos forms para habilitar a proteção CSRF. ``CsrfViewMiddleware</code>  permanece e é habilitada por padrão.</p></li>\n<li><p>Os imports antigos da funcionalidade CSRF (<code class=\"docutils literal notranslate\">django.contrib.csrf.*</code>), que foi movido para o core em 1.2, será removido.</p></li>\n<li><p>O módulo <code class=\"docutils literal notranslate\">django.contrib.gis.db.backend</code> será removido em favor dos backends específicos.</p></li>\n<li><p><code class=\"docutils literal notranslate\">SMTPConnection</code> será removido em favor de uma API de backend genérica.</p></li>\n<li><p>As funções de geração SQL many to many nos backends de banco de dados serão removidos.</p></li>\n<li><p>A habilidade de usar a família de settings top-level <code class=\"docutils literal notranslate\">DATABASE_*</code> para definir conexões de banco de dados será removida.</p></li>\n<li><p>A habilidade para usar notações curtas para especificar o backend do banco de dados (ex <code class=\"docutils literal notranslate\">sqlite3</code> ao invés de <code class=\"docutils literal notranslate\">django.db.backends.sqlite3</code>) será removido.</p></li>\n<li><p>Os métodos <code class=\"docutils literal notranslate\">get_db_prep_save</code>, <code class=\"docutils literal notranslate\">get_db_prep_value</code> e <code class=\"docutils literal notranslate\">get_db_prep_lookup</code> terão que suportar múltiplos bancos de dados.</p></li>\n<li><p>O model <code class=\"docutils literal notranslate\">Message</code> (em <code class=\"docutils literal notranslate\">django.contrib.auth</code>), o seu manager no model <code class=\"docutils literal notranslate\">User</code> (<code class=\"docutils literal notranslate\">user.message_set</code>), e os métodos associados (<code class=\"docutils literal notranslate\">user.message_set.create()</code> e <code class=\"docutils literal notranslate\">user.get_and_delete_messages()</code>), serão removidos. O framework <a class=\"reference internal\" href=\"/pt-br/2.1/ref/contrib/messages/\"><span class=\"doc\">messages</span></a> deve ser usado em seu lugar. A variável <code class=\"docutils literal notranslate\">messages</code> relacionada e retornada pelo processador de contexto de autenticação também será removida. Note que isso significa que a aplicação admin irá depender do processador de contexto de mensagens.</p></li>\n<li><p>Backends de autenticação terão que suportar o parâmetro <code class=\"docutils literal notranslate\">obj</code> para verificação de permissões. O atributo <code class=\"docutils literal notranslate\">supports_object_permissions</code> não irá mais ser checado e pode ser removido dos backends customizados.</p></li>\n<li><p>Backends de autenticação terá que suportar a classe <code class=\"docutils literal notranslate\">AnonymousUser</code> sendo passada para todos os métodos que lidam com permissão. A variável <code class=\"docutils literal notranslate\">supports_anonymous_user</code> não irá mais ser checada e pode ser removida dos backends customizados.</p></li>\n<li><p>A habilidade para especificar um template loader invocável ao invés de uma classe <code class=\"docutils literal notranslate\">Loader</code> irá ser removido, assim como as funções <code class=\"docutils literal notranslate\">load_template_source</code> que estão incluídas com os template loaders embutidos para compatibilidade com versões anteriores.</p></li>\n<li><p><code class=\"docutils literal notranslate\">django.utils.translation.get_date_formats()</code> e <code class=\"docutils literal notranslate\">django.utils.translation.get_partial_date_formats()</code>. Essas funções serão removidas; use o locale-aware <code class=\"docutils literal notranslate\">django.utils.formats.get_format()</code> para obter os formatos apropriados.</p></li>\n<li><p>Em <code class=\"docutils literal notranslate\">django.forms.fields</code>, as contantes: <code class=\"docutils literal notranslate\">DEFAULT_DATE_INPUT_FORMATS</code>, <code class=\"docutils literal notranslate\">DEFAULT_TIME_INPUT_FORMATS</code> e <code class=\"docutils literal notranslate\">DEFAULT_DATETIME_INPUT_FORMATS</code> serão removidas. Utilize <code class=\"docutils literal notranslate\">django.utils.formats.get_format()</code> para obter os formatos apropriados.</p></li>\n<li><p>A habilidade de usar um executor de testes baseado em função será removido, assim como o executor de teste <code class=\"docutils literal notranslate\">django.test.simple.run_tests()</code>.</p></li>\n<li><p>A view <code class=\"docutils literal notranslate\">views.feed()</code> e a classe <code class=\"docutils literal notranslate\">feeds.Feed</code> em <code class=\"docutils literal notranslate\">django.contrib.syndication``serão removidos. A view baseada em classe ``views.Feed</code> deve ser usada em seu lugar.</p></li>\n<li><p><code class=\"docutils literal notranslate\">django.core.context_processors.auth</code>. Essa release irá remover o método antigo em favor do novo método em <code class=\"docutils literal notranslate\">django.contrib.auth.context_processors.auth</code>.</p></li>\n<li><p>O backend do banco de dados <code class=\"docutils literal notranslate\">postgresql</code> será removido, utilize o backend <code class=\"docutils literal notranslate\">postgresql_psycopg2</code> em seu lugar.</p></li>\n<li><p>A linguagem de código <code class=\"docutils literal notranslate\">no</code> será removida e foi trocada pela linguagem de código  <code class=\"docutils literal notranslate\">nb</code>.</p></li>\n<li><p>Backends de autenticação terão que definir o atributo booleano <code class=\"docutils literal notranslate\">supports_inactive_user</code> até a versão 1.5 onde se assumirá que todos os backends irão tratar usuários inativos.</p></li>\n<li><p><code class=\"docutils literal notranslate\">django.db.models.fields.XMLField</code> será removido. Isso foi depreciado como parte da release 1.3. Um cronograma acelerado de depreciação foi usado porque o campo não preenche nenhum outro propósito além de um simples <code class=\"docutils literal notranslate\">TextField</code> desde a remoção de <code class=\"docutils literal notranslate\">oldforms</code>. Todos os usos de <code class=\"docutils literal notranslate\">XMLField</code> podem ser substituídos com <code class=\"docutils literal notranslate\">TextField</code>.</p></li>\n<li><p>O parâmetro não documentado <code class=\"docutils literal notranslate\">mixin</code> para o método <code class=\"docutils literal notranslate\">open()</code> de <code class=\"docutils literal notranslate\">django.core.files.storage.Storage</code> (e subclasses) serão removidas.</p></li>\n</ul>\n</section>\n<section id=\"deprecation-removed-in-1-3\">\n<span id=\"id11\"></span><h2>1.3<a class=\"heading-anchor\" href=\"#deprecation-removed-in-1-3\"><span class=\"visually-hidden\">Link para este cabeçalho</span><span aria-hidden=\"true\">#</span></a></h2>\n<p>Veja as <a class=\"reference internal\" href=\"/pt-br/2.1/releases/1.1/#deprecated-features-1-1\"><span class=\"std std-ref\">notas da release do Django 1.1</span></a> para mais detalhes sobre essas mudanças.</p>\n<ul class=\"simple\">\n<li><p><code class=\"docutils literal notranslate\">AdminSite.root()</code>.  Esse método de ligação de URLs admin será removido em favor da inclusão de <code class=\"docutils literal notranslate\">admin.site.urls</code>.</p></li>\n<li><p>Backends de autenticação precisam definir os atributos booleanos <code class=\"docutils literal notranslate\">supports_object_permissions</code> e <code class=\"docutils literal notranslate\">supports_anonymous_user</code> até a versão 1.4, na qual será assumido que todos os backends suportam essas opções.</p></li>\n</ul>\n</section>","rootId":"django-deprecation-timeline","toc":[{"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":"Funcionamento interno do Projeto Django","url":"/pt-br/2.1/internals/"}],"prev":{"docname":"internals/release-process","title":"Processo de release do Django","url":"/pt-br/2.1/internals/release-process/"},"next":{"docname":"internals/git","title":"O repositório de código-fonte do Django","url":"/pt-br/2.1/internals/git/"},"formats":{"html":"/pt-br/2.1/internals/deprecation/","markdown":"/pt-br/2.1/internals/deprecation.md","json":"/pt-br/2.1/internals/deprecation.json"},"source":"https://github.com/django/django/blob/stable/2.1.x/docs/internals/deprecation.txt","official":"https://docs.djangoproject.com/pt-br/2.1/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","1.9"],"inLocales":["en","zh-hans","fr","ja","id","pt-br","ko","es","el","pl"]}