{"title":"Linha do tempo de depreciações no Django","version":"1.10","locale":"pt-br","docname":"internals/deprecation","url":"/pt-br/1.10/internals/deprecation/","canonical":"https://djangodocs.dev/pt-br/1.10/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 depreciação,…","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/1.10/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-2-0\">\n<span id=\"id1\"></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/1.10/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\"><span class=\"pre\">weak</span></code> de <code class=\"docutils literal notranslate\"><span class=\"pre\">django.dispatch.signals.Signal.disconnect()</span></code> será removido.</p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">django.db.backends.base.BaseDatabaseOperations.check_aggregate_support()</span></code> será removida.</p></li>\n<li><p>O pacote <code class=\"docutils literal notranslate\"><span class=\"pre\">django.forms.extras</span></code> será removido.</p></li>\n<li><p>O helper <code class=\"docutils literal notranslate\"><span class=\"pre\">assignment_tag</span></code> será removido.</p></li>\n<li><p>O argumento <code class=\"docutils literal notranslate\"><span class=\"pre\">host</span></code> em <code class=\"docutils literal notranslate\"><span class=\"pre\">assertsRedirects</span></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\"><span class=\"pre\">Field.rel</span></code> será removido.</p></li>\n<li><p>O atributo <code class=\"docutils literal notranslate\"><span class=\"pre\">Field.remote_field.to</span></code> será removido.</p></li>\n<li><p>O argumento <code class=\"docutils literal notranslate\"><span class=\"pre\">on_delete</span></code> para <code class=\"docutils literal notranslate\"><span class=\"pre\">ForeignKey</span></code> e <code class=\"docutils literal notranslate\"><span class=\"pre\">OneToOneField</span></code> será requerido.</p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">django.db.models.fields.add_lazy_relation()</span></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\"><span class=\"pre\">cursor.execute()</span></code>.</p></li>\n<li><p>O decorator <code class=\"docutils literal notranslate\"><span class=\"pre\">django.contrib.auth.tests.utils.skipIfCustomUser()</span></code> será removido.</p></li>\n<li><p>As classes <code class=\"docutils literal notranslate\"><span class=\"pre\">GeoManager</span></code> e <code class=\"docutils literal notranslate\"><span class=\"pre\">GeoQuerySet</span></code> serão removidas.</p></li>\n<li><p>O módulo <code class=\"docutils literal notranslate\"><span class=\"pre\">django.contrib.gis.geoip</span></code> será removido.</p></li>\n<li><p>A verificação de <code class=\"docutils literal notranslate\"><span class=\"pre\">supports_recursion</span></code> para template loaders será removido de:</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>Os métodos de template loaders <code class=\"docutils literal notranslate\"><span class=\"pre\">load_template()</span></code> e <code class=\"docutils literal notranslate\"><span class=\"pre\">load_template_sources()</span></code> serão removidos.</p></li>\n<li><p>O argumento <code class=\"docutils literal notranslate\"><span class=\"pre\">template_dirs</span></code> para template loaders será removido.</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>O método <code class=\"docutils literal notranslate\"><span class=\"pre\">django.template.loaders.base.Loader.__call__()</span></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\"><span class=\"pre\">mime_type</span></code> de <code class=\"docutils literal notranslate\"><span class=\"pre\">django.utils.feedgenerator.Atom1Feed</span></code> e <code class=\"docutils literal notranslate\"><span class=\"pre\">django.utils.feedgenerator.RssFeed</span></code> será removido para promover <code class=\"docutils literal notranslate\"><span class=\"pre\">content_type</span></code>.</p></li>\n<li><p>O argumento <code class=\"docutils literal notranslate\"><span class=\"pre\">app_name</span></code> em <a class=\"reference internal\" href=\"/pt-br/1.10/ref/urls/#django.conf.urls.include\" title=\"django.conf.urls.include\"><code class=\"xref py py-func docutils literal notranslate\"><span class=\"pre\">include()</span></code></a> será removido.</p></li>\n<li><p>Suporte a passagem de tuplas de 3 elementos como primeiro argumento no <code class=\"docutils literal notranslate\"><span class=\"pre\">include()</span></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\"><span class=\"pre\">Field._get_val_from_obj()</span></code> será removido para promover <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> será removido.</p></li>\n<li><p>O parâmetro <code class=\"docutils literal notranslate\"><span class=\"pre\">current_app</span></code> para views <code class=\"docutils literal notranslate\"><span class=\"pre\">contrib.auth</span></code> será removido.</p></li>\n<li><p>O argumento chave <code class=\"docutils literal notranslate\"><span class=\"pre\">callable_obj</span></code> para <code class=\"docutils literal notranslate\"><span class=\"pre\">SimpleTestCase.assertRaisesMessage()</span></code> será removido.</p></li>\n<li><p>Suporte para o atributo <code class=\"docutils literal notranslate\"><span class=\"pre\">allow_tags</span></code> em métodos de <code class=\"docutils literal notranslate\"><span class=\"pre\">ModelAdmin</span></code> serão removidos.</p></li>\n<li><p>O argumento chave <code class=\"docutils literal notranslate\"><span class=\"pre\">enclosure</span></code> em <code class=\"docutils literal notranslate\"><span class=\"pre\">SyndicationFeed.add_item()</span></code> será removido.</p></li>\n<li><p>Os aliases de <code class=\"docutils literal notranslate\"><span class=\"pre\">django.template.loader.LoaderOrigin</span></code> e <code class=\"docutils literal notranslate\"><span class=\"pre\">django.template.base.StringOrigin</span></code> para <code class=\"docutils literal notranslate\"><span class=\"pre\">django.template.base.Origin</span></code> serão removidos.</p></li>\n</ul>\n<p>Veja a <a class=\"reference internal\" href=\"/pt-br/1.10/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\"><span class=\"pre\">makemigrations</span> <span class=\"pre\">--exit</span></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\"><span class=\"pre\">get_srid()</span></code> e <code class=\"docutils literal notranslate\"><span class=\"pre\">set_srid()</span></code> em <code class=\"docutils literal notranslate\"><span class=\"pre\">django.contrib.gis.geos.GEOSGeometry</span></code> serão removidos.</p></li>\n<li><p>Os métodos <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>, e <code class=\"docutils literal notranslate\"><span class=\"pre\">set_z()</span></code> em <code class=\"docutils literal notranslate\"><span class=\"pre\">django.contrib.gis.geos.Point</span></code> serão removidos.</p></li>\n<li><p>Os métodos <code class=\"docutils literal notranslate\"><span class=\"pre\">get_coords()</span></code> e <code class=\"docutils literal notranslate\"><span class=\"pre\">set_coords()</span></code> em <code class=\"docutils literal notranslate\"><span class=\"pre\">django.contrib.gis.geos.Point</span></code> serão removidos.</p></li>\n<li><p>A propriedade <code class=\"docutils literal notranslate\"><span class=\"pre\">cascaded_union</span></code> em <code class=\"docutils literal notranslate\"><span class=\"pre\">django.contrib.gis.geos.MultiPolygon</span></code> serão removidos.</p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">django.utils.functional.allow_lazy()</span></code> será removido.</p></li>\n<li><p>A opção <code class=\"docutils literal notranslate\"><span class=\"pre\">shell</span> <span class=\"pre\">--plain</span></code> será removido.</p></li>\n<li><p>O módulo <code class=\"docutils literal notranslate\"><span class=\"pre\">django.core.urlresolvers</span></code> será removido.</p></li>\n<li><p>O model <code class=\"docutils literal notranslate\"><span class=\"pre\">CommaSeparatedIntegerField</span></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\"><span class=\"pre\">Context.has_key()</span></code> será removido.</p></li>\n<li><p>o Suporte aos métodos <code class=\"docutils literal notranslate\"><span class=\"pre\">django.core.files.storage.Storage.accessed_time()</span></code>, <code class=\"docutils literal notranslate\"><span class=\"pre\">created_time()</span></code>, e <code class=\"docutils literal notranslate\"><span class=\"pre\">modified_time()</span></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\"><span class=\"pre\">Meta.default_related_name</span></code> será removido.</p></li>\n<li><p>O filtro de consulta <code class=\"docutils literal notranslate\"><span class=\"pre\">__search</span></code>  e o método <code class=\"docutils literal notranslate\"><span class=\"pre\">DatabaseOperations.fulltext_search_sql()</span></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\"><span class=\"pre\">_apply_rel_filters()</span></code> será removido.</p></li>\n<li><p>O uso de <code class=\"docutils literal notranslate\"><span class=\"pre\">User.is_authenticated()</span></code> e <code class=\"docutils literal notranslate\"><span class=\"pre\">User.is_anonymous()</span></code> como métodos não será mais suportado.</p></li>\n<li><p>O atributo privado <code class=\"docutils literal notranslate\"><span class=\"pre\">virtual_fields</span></code> do <code class=\"docutils literal notranslate\"><span class=\"pre\">Model._meta</span></code> será removido.</p></li>\n<li><p>O argumento privado nomeado  <code class=\"docutils literal notranslate\"><span class=\"pre\">virtual_only</span></code> no <code class=\"docutils literal notranslate\"><span class=\"pre\">Field.contribute_to_class()</span></code> e na <code class=\"docutils literal notranslate\"><span class=\"pre\">virtual</span></code> no <code class=\"docutils literal notranslate\"><span class=\"pre\">Model._meta.add_field()</span></code> será removido.</p></li>\n<li><p>As “views”  <code class=\"docutils literal notranslate\"><span class=\"pre\">javascript_catalog()</span></code> e <code class=\"docutils literal notranslate\"><span class=\"pre\">json_catalog()</span></code> serão removidas.</p></li>\n<li><p>A função <code class=\"docutils literal notranslate\"><span class=\"pre\">django.contrib.gis.utils.precision_wkt()</span></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\"><span class=\"pre\">OneToOneField</span></code> para um <code class=\"docutils literal notranslate\"><span class=\"pre\">parent_link</span></code> será removida.</p></li>\n<li><p>O suporte para <code class=\"docutils literal notranslate\"><span class=\"pre\">Widget._format_value()</span></code> será removido.</p></li>\n<li><p>Os métodos  <code class=\"docutils literal notranslate\"><span class=\"pre\">get_directory_name()</span></code> e <code class=\"docutils literal notranslate\"><span class=\"pre\">get_filename()</span></code> do <code class=\"docutils literal notranslate\"><span class=\"pre\">FileField</span></code> serão removidos.</p></li>\n<li><p>A função <code class=\"docutils literal notranslate\"><span class=\"pre\">mark_for_escaping()</span></code> e as classes que ela usa: <code class=\"docutils literal notranslate\"><span class=\"pre\">EscapeData</span></code>, <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>, e <code class=\"docutils literal notranslate\"><span class=\"pre\">EscapeUnicode</span></code> serão removidas.</p></li>\n<li><p>O filtro <code class=\"docutils literal notranslate\"><span class=\"pre\">escape</span></code> será alterado para que use o <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> será removido.</p></li>\n<li><p>A herança de um <code class=\"docutils literal notranslate\"><span class=\"pre\">Manager</span></code> seguirá regras de herança MRO e a <code class=\"docutils literal notranslate\"><span class=\"pre\">Meta.manager_inheritance_from_future</span></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\"><span class=\"pre\">settings.MIDDLEWARE_CLASSES</span></code> será removido.</p></li>\n</ul>\n</section>\n<section id=\"deprecation-removed-in-1-10\">\n<span id=\"id2\"></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/1.10/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\"><span class=\"pre\">SQLCompiler</span></code> diretamente como um alias para o seu método <code class=\"docutils literal notranslate\"><span class=\"pre\">quote_name_unless_alias</span></code>  será removido.</p></li>\n<li><p>As tags de template <code class=\"docutils literal notranslate\"><span class=\"pre\">cycle</span></code> and <code class=\"docutils literal notranslate\"><span class=\"pre\">firstof</span></code> serão removidas da biblioteca de tags de template   <code class=\"docutils literal notranslate\"><span class=\"pre\">future</span></code>.</p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">django.conf.urls.patterns()</span></code> será removido.</p></li>\n<li><p>Suporte para o argumento <code class=\"docutils literal notranslate\"><span class=\"pre\">prefix</span></code> do <code class=\"docutils literal notranslate\"><span class=\"pre\">django.conf.urls.i18n.i18n_patterns()</span></code> será removido.</p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">SimpleTestCase.urls</span></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\"><span class=\"pre\">for</span></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\"><span class=\"pre\">LOGIN_URL</span></code> and <code class=\"docutils literal notranslate\"><span class=\"pre\">LOGIN_REDIRECT_URL</span></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\"><span class=\"pre\">optparse</span></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\"><span class=\"pre\">argparse</span></code></a>).</p></li>\n<li><p>A classe <code class=\"docutils literal notranslate\"><span class=\"pre\">django.core.management.NoArgsCommand</span></code> será removida. Use em seu lugar a classe <a class=\"reference internal\" href=\"/pt-br/1.10/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> que não recebe argumentos por padrão.</p></li>\n<li><p>O módulo <code class=\"docutils literal notranslate\"><span class=\"pre\">django.core.context_processors</span></code> será removido.</p></li>\n<li><p>O módulo <code class=\"docutils literal notranslate\"><span class=\"pre\">django.db.models.sql.aggregates</span></code> será removido.</p></li>\n<li><p>O módulo <code class=\"docutils literal notranslate\"><span class=\"pre\">django.contrib.gis.db.models.sql.aggregates</span></code> será removido.</p></li>\n<li><p>Os métodos e propriedades de <code class=\"docutils literal notranslate\"><span class=\"pre\">django.db.sql.query.Query</span></code> a seguir serão removidas:</p>\n<ul>\n<li><p>Propriedades: <code class=\"docutils literal notranslate\"><span class=\"pre\">aggregates</span></code> e <code class=\"docutils literal notranslate\"><span class=\"pre\">aggregate_select</span></code></p></li>\n<li><p>Métodos: <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>, e <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> será removido.</p></li>\n<li><p>As APIs privadas abaixo serão removidas de <a class=\"reference internal\" href=\"/pt-br/1.10/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>O argumento <code class=\"docutils literal notranslate\"><span class=\"pre\">error_message</span></code> de <code class=\"docutils literal notranslate\"><span class=\"pre\">django.forms.RegexField</span></code> será removido.</p></li>\n<li><p>O filtro <code class=\"docutils literal notranslate\"><span class=\"pre\">unordered_list</span></code> não irá mais suportar listas do estilo antigo.</p></li>\n<li><p>Suporte a argumentos <code class=\"docutils literal notranslate\"><span class=\"pre\">view</span></code> no formato string para <code class=\"docutils literal notranslate\"><span class=\"pre\">url()</span></code> será removido.</p></li>\n<li><p>O calço de compatibilidade com versões anteriores para renomear <code class=\"docutils literal notranslate\"><span class=\"pre\">django.forms.Form._has_changed()</span></code> para <code class=\"docutils literal notranslate\"><span class=\"pre\">has_changed()</span></code> foi removido.</p></li>\n<li><p>O filter de template <code class=\"docutils literal notranslate\"><span class=\"pre\">removetags</span></code> será removido.</p></li>\n<li><p>As funções <code class=\"docutils literal notranslate\"><span class=\"pre\">remove_tags()</span></code> e <code class=\"docutils literal notranslate\"><span class=\"pre\">strip_entities()</span></code> em <code class=\"docutils literal notranslate\"><span class=\"pre\">django.utils.html</span></code> serão removidas.</p></li>\n<li><p>O argumento <code class=\"docutils literal notranslate\"><span class=\"pre\">is_admin_site</span></code> para <code class=\"docutils literal notranslate\"><span class=\"pre\">django.contrib.auth.views.password_reset()</span></code> será removido.</p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">django.db.models.field.subclassing.SubfieldBase</span></code> será removido.</p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">django.utils.checksums</span></code> será removido; suas funcionalidades estão inclusas no <code class=\"docutils literal notranslate\"><span class=\"pre\">django-localflavor</span></code> 1.1+.</p></li>\n<li><p>O atributo <code class=\"docutils literal notranslate\"><span class=\"pre\">original_content_type_id</span></code> em <code class=\"docutils literal notranslate\"><span class=\"pre\">django.contrib.admin.helpers.InlineAdminForm</span></code> será removido.</p></li>\n<li><p>O calço de compatibilidade com versões anteriores para permitir <code class=\"docutils literal notranslate\"><span class=\"pre\">FormMixin.get_form()</span></code> ser definido sem valor padrão para o seu argumento <code class=\"docutils literal notranslate\"><span class=\"pre\">form_class</span></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\"><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>O alias de compatibilidade com versões anteriores <code class=\"docutils literal notranslate\"><span class=\"pre\">django.template.loader.BaseLoader</span></code> será removido.</p></li>\n<li><p>Objetos de template do Django retornados por <a class=\"reference internal\" href=\"/pt-br/1.10/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>  e <a class=\"reference internal\" href=\"/pt-br/1.10/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> não irão mais aceitar um <a class=\"reference internal\" href=\"/pt-br/1.10/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> em seu método <a class=\"reference internal\" href=\"/pt-br/1.10/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>.</p></li>\n<li><p><a class=\"reference internal\" href=\"/pt-br/1.10/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\"><span class=\"pre\">dict</span></code></a> e objetos de template dependentes de backend ao invés de  <a class=\"reference internal\" href=\"/pt-br/1.10/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> e <a class=\"reference internal\" href=\"/pt-br/1.10/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> respectivamente.</p></li>\n<li><p>O <code class=\"docutils literal notranslate\"><span class=\"pre\">current_app</span></code> parâmetro para as funções e classes abaixo será removido:</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>Os parâmetros <code class=\"docutils literal notranslate\"><span class=\"pre\">dictionary</span></code> e <code class=\"docutils literal notranslate\"><span class=\"pre\">context_instance</span></code> para as funções abaixo serão removidos</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>O parâmetro <code class=\"docutils literal notranslate\"><span class=\"pre\">dirs</span></code> para as funções abaixo será removido:</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>Verificação de sessão será habilitado independentemente de <code class=\"docutils literal notranslate\"><span class=\"pre\">'django.contrib.auth.middleware.SessionAuthenticationMiddleware'</span></code> estar ou não dentro de <code class=\"docutils literal notranslate\"><span class=\"pre\">MIDDLEWARE_CLASSES</span></code>.</p></li>\n<li><p>O atributo privado <code class=\"docutils literal notranslate\"><span class=\"pre\">django.db.models.Field.related</span></code> será removido.</p></li>\n<li><p>A opção <code class=\"docutils literal notranslate\"><span class=\"pre\">--list</span></code> do comando <code class=\"docutils literal notranslate\"><span class=\"pre\">migrate</span></code> será removido.</p></li>\n<li><p>A tag template <code class=\"docutils literal notranslate\"><span class=\"pre\">ssi</span></code> será removida.</p></li>\n<li><p>Suporte para o operador de comparação <code class=\"docutils literal notranslate\"><span class=\"pre\">=</span></code> na tag de template <code class=\"docutils literal notranslate\"><span class=\"pre\">if</span></code> será removido.</p></li>\n<li><p>O calço de compatibilidade com versões anteriores para permitir <code class=\"docutils literal notranslate\"><span class=\"pre\">Storage.get_available_name()</span></code> e <code class=\"docutils literal notranslate\"><span class=\"pre\">Storage.save()</span></code> ser definido sem um argumento <code class=\"docutils literal notranslate\"><span class=\"pre\">max_length</span></code> será removido.</p></li>\n<li><p>Suporte para a sintaxe legada  <code class=\"docutils literal notranslate\"><span class=\"pre\">%(&lt;foo&gt;)s</span></code> no <code class=\"docutils literal notranslate\"><span class=\"pre\">ModelFormMixin.success_url</span></code> será removido.</p></li>\n<li><p>Os métodos do <code class=\"docutils literal notranslate\"><span class=\"pre\">GeoQuerySet</span></code> de agregação <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>, <code class=\"docutils literal notranslate\"><span class=\"pre\">make_line()</span></code>, e <code class=\"docutils literal notranslate\"><span class=\"pre\">unionagg()</span></code> serão removidos.</p></li>\n<li><p>A abilidade para especificar <code class=\"docutils literal notranslate\"><span class=\"pre\">ContentType.name</span></code> ao criar uma instância será removido.</p></li>\n<li><p>Suporte para a assinatura antiga de <code class=\"docutils literal notranslate\"><span class=\"pre\">allow_migrate</span></code> será removido. Ele mudou de <code class=\"docutils literal notranslate\"><span class=\"pre\">allow_migrate(self,</span> <span class=\"pre\">db,</span> <span class=\"pre\">model)</span></code> para <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>Suporte para a sintaxe de <code class=\"docutils literal notranslate\"><span class=\"pre\">{%</span> <span class=\"pre\">cycle</span> <span class=\"pre\">%}</span></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/1.10/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> 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=\"id3\"></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/1.10/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\"><span class=\"pre\">django.utils.dictconfig</span></code> será removido.</p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">django.utils.importlib</span></code> será removido.</p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">django.utils.tzinfo</span></code> será removido.</p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">django.utils.unittest</span></code> será removido.</p></li>\n<li><p>O comando <code class=\"docutils literal notranslate\"><span class=\"pre\">syncdb</span></code> será removido.</p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">django.db.models.signals.pre_syncdb</span></code> e <code class=\"docutils literal notranslate\"><span class=\"pre\">django.db.models.signals.post_syncdb</span></code> serão removidos.</p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">allow_syncdb</span></code> em roteadores de bancos de dados não irão mais ficar automaticamente  <code class=\"docutils literal notranslate\"><span class=\"pre\">allow_migrate</span></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\"><span class=\"pre\">--run-syncdb</span></code> para o comando <code class=\"docutils literal notranslate\"><span class=\"pre\">migrate</span></code>.</p></li>\n<li><p>Os SQL management commands para apps sem migrações, sql`, <code class=\"docutils literal notranslate\"><span class=\"pre\">sqlall</span></code>, <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>, será removido.</p></li>\n<li><p>Suporte para carregamento automático de fixtures <code class=\"docutils literal notranslate\"><span class=\"pre\">initial_data</span></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/1.10/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>. 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\"><span class=\"pre\">IPAddressField</span></code> serão removidos. Um campo stub irá permanecer para compatibilidade com migrations passadas.</p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">AppCommand.handle_app()</span></code> não será mais suportado.</p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">RequestSite</span></code> e <code class=\"docutils literal notranslate\"><span class=\"pre\">get_current_site()</span></code> não irão mais ser importáveis de <code class=\"docutils literal notranslate\"><span class=\"pre\">django.contrib.sites.models</span></code>.</p></li>\n<li><p>Suporte a FastCGI pelo comando de administração <code class=\"docutils literal notranslate\"><span class=\"pre\">runfcgi</span></code> será removido. Por favor faça deploy do seu projeto usando WSGI.</p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">django.utils.datastructures.SortedDict</span></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\"><span class=\"pre\">collections.OrderedDict</span></code></a> da biblioteca padrão do Python.</p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">ModelAdmin.declared_fieldsets</span></code> será removido.</p></li>\n<li><p>Instâncias de <code class=\"docutils literal notranslate\"><span class=\"pre\">util.py</span></code> no código base do Django foram renomeadas para <code class=\"docutils literal notranslate\"><span class=\"pre\">utils.py</span></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\"><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> 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\"><span class=\"pre\">BaseMemcachedCache._get_memcache_timeout()</span></code> para <code class=\"docutils literal notranslate\"><span class=\"pre\">get_backend_timeout()</span></code> foi removido.</p></li>\n<li><p>As opções``–natural`` e <code class=\"docutils literal notranslate\"><span class=\"pre\">-n</span></code> para <a class=\"reference internal\" href=\"/pt-br/1.10/ref/django-admin/#django-admin-dumpdata\"><code class=\"xref std std-djadmin docutils literal notranslate\"><span class=\"pre\">dumpdata</span></code></a> serão removidas.</p></li>\n<li><p>O argumento <code class=\"docutils literal notranslate\"><span class=\"pre\">use_natural_keys</span></code> para <code class=\"docutils literal notranslate\"><span class=\"pre\">serializers.serialize()</span></code> será removido.</p></li>\n<li><p>A API privada <code class=\"docutils literal notranslate\"><span class=\"pre\">django.forms.forms.get_declared_fields()</span></code> será removida.</p></li>\n<li><p>A abilidade de utilizar o <code class=\"docutils literal notranslate\"><span class=\"pre\">SplitDateTimeWidget</span></code> com <code class=\"docutils literal notranslate\"><span class=\"pre\">DateTimeField</span></code> será removido.</p></li>\n<li><p>A propriedade <code class=\"docutils literal notranslate\"><span class=\"pre\">WSGIRequest.REQUEST</span></code> será removida.</p></li>\n<li><p>A classe <code class=\"docutils literal notranslate\"><span class=\"pre\">django.utils.datastructures.MergeDict</span></code> será removida.</p></li>\n<li><p>Os códigos de linguagens <code class=\"docutils literal notranslate\"><span class=\"pre\">zh-cn</span></code> e <code class=\"docutils literal notranslate\"><span class=\"pre\">zh-tw</span></code> serão removidos e trocados pelos códigos de linguagem <code class=\"docutils literal notranslate\"><span class=\"pre\">zh-hans</span></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\"><span class=\"pre\">django.utils.functional.memoize</span></code> será removido.</p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">django.core.cache.get_cache</span></code> será removido. Ao invés dele, adicione as entradas convenientes a <a class=\"reference internal\" href=\"/pt-br/1.10/ref/settings/#std-setting-CACHES\"><code class=\"xref std std-setting docutils literal notranslate\"><span class=\"pre\">CACHES</span></code></a> e use <a class=\"reference internal\" href=\"/pt-br/1.10/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>.</p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">django.db.models.loading</span></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\"><span class=\"pre\">BaseCommand.requires_model_validation``será</span> <span class=\"pre\">removido</span> <span class=\"pre\">em</span> <span class=\"pre\">favor</span> <span class=\"pre\">de</span>&#160; <span class=\"pre\">``requires_system_checks</span></code>. Admin validators serão trocados por admin checks.</p></li>\n<li><p>Os atributos <code class=\"docutils literal notranslate\"><span class=\"pre\">ModelAdmin.validator_class</span></code> e <code class=\"docutils literal notranslate\"><span class=\"pre\">default_validator_class</span></code> serão removidos.</p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">ModelAdmin.validate()</span></code> será removido.</p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">django.db.backends.DatabaseValidation.validate_field</span></code> será removido em favor do método <code class=\"docutils literal notranslate\"><span class=\"pre\">check_field</span></code>.</p></li>\n<li><p>O comando de administração <code class=\"docutils literal notranslate\"><span class=\"pre\">validate</span></code> será removido.</p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">django.utils.module_loading.import_by_path</span></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\"><span class=\"pre\">url</span></code> serão removidas da biblioteca de tags de template <code class=\"docutils literal notranslate\"><span class=\"pre\">future</span></code> (usado durante o período de depreciação 1.3/1.4).</p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">django.utils.text.javascript_quote</span></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\"><span class=\"pre\">TEST_</span></code>, não será mais suportado.</p></li>\n<li><p>A opção cache_choices para <a class=\"reference internal\" href=\"/pt-br/1.10/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> e <a class=\"reference internal\" href=\"/pt-br/1.10/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> será removido.</p></li>\n<li><p>O valor padrão do <a class=\"reference internal\" href=\"/pt-br/1.10/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> atributo irá mudar de <code class=\"docutils literal notranslate\"><span class=\"pre\">True</span></code> para <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> será removido em favor de <code class=\"docutils literal notranslate\"><span class=\"pre\">django.contrib.flatpages.sitemaps.FlatPageSitemap</span></code>.</p></li>\n<li><p>A API privada <code class=\"docutils literal notranslate\"><span class=\"pre\">django.test.utils.TestTemplateLoader</span></code> será removida.</p></li>\n<li><p>O módulo <code class=\"docutils literal notranslate\"><span class=\"pre\">django.contrib.contenttypes.generic</span></code> será removido.</p></li>\n<li><p>As APIs privadas <code class=\"docutils literal notranslate\"><span class=\"pre\">django.db.models.sql.where.WhereNode.make_atom()</span></code> e <code class=\"docutils literal notranslate\"><span class=\"pre\">django.db.models.sql.where.Constraint</span></code> serão removidos.</p></li>\n</ul>\n</section>\n<section id=\"deprecation-removed-in-1-8\">\n<span id=\"id4\"></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/1.10/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\"><span class=\"pre\">django.contrib.comments</span></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\"><span class=\"pre\">TransactionMiddleware</span></code>,</p></li>\n<li><p>Os decorators e 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>, e <code class=\"docutils literal notranslate\"><span class=\"pre\">commit_manually</span></code>, definidos em <code class=\"docutils literal notranslate\"><span class=\"pre\">django.db.transaction</span></code>,</p></li>\n<li><p>As funções <code class=\"docutils literal notranslate\"><span class=\"pre\">commit_unless_managed</span></code> e <code class=\"docutils literal notranslate\"><span class=\"pre\">rollback_unless_managed</span></code>, também definidos em <code class=\"docutils literal notranslate\"><span class=\"pre\">django.db.transaction</span></code>,</p></li>\n<li><p>O setting <code class=\"docutils literal notranslate\"><span class=\"pre\">TRANSACTIONS_MANAGED</span></code>.</p></li>\n</ul>\n</li>\n<li><p>As tags de template <a class=\"reference internal\" href=\"/pt-br/1.10/ref/templates/builtins/#std-templatetag-cycle\"><code class=\"xref std std-ttag docutils literal notranslate\"><span class=\"pre\">cycle</span></code></a> e <a class=\"reference internal\" href=\"/pt-br/1.10/ref/templates/builtins/#std-templatetag-firstof\"><code class=\"xref std std-ttag docutils literal notranslate\"><span class=\"pre\">firstof</span></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\"><span class=\"pre\">future</span></code>.</p></li>\n<li><p>O setting <code class=\"docutils literal notranslate\"><span class=\"pre\">SEND_BROKEN_LINK_EMAILS</span></code> será removido. Para substitui-lo, adicione o <a class=\"reference internal\" href=\"/pt-br/1.10/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  <a class=\"reference internal\" href=\"/pt-br/1.10/ref/settings/#std-setting-MIDDLEWARE_CLASSES\"><code class=\"xref std std-setting docutils literal notranslate\"><span class=\"pre\">MIDDLEWARE_CLASSES</span></code></a> no seu setting.</p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">django.middleware.doc.XViewMiddleware</span></code> será removido. Ao invés dele, use <code class=\"docutils literal notranslate\"><span class=\"pre\">django.contrib.admindocs.middleware.XViewMiddleware</span></code>.</p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">Model._meta.module_name</span></code> foi renomeado para <code class=\"docutils literal notranslate\"><span class=\"pre\">model_name</span></code>.</p></li>\n<li><p>Removido o calço de compatibilidade com versões anteriores introduzido para renomear <code class=\"docutils literal notranslate\"><span class=\"pre\">get_query_set</span></code> e métodos do queryset similares. Isso afeta as seguintes classes: <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>, <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> e <code class=\"docutils literal notranslate\"><span class=\"pre\">ReverseSingleRelatedObjectDescriptor</span></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\"><span class=\"pre\">ChangeList.root_query_set</span></code> e <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> será removido, como parte do objetivo de remover todas as referências a <code class=\"docutils literal notranslate\"><span class=\"pre\">django.contrib</span></code> do núcleo do banco de dados do Django. Ao invés dele use <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> também será removido.</p></li>\n<li><p>Suporte ao módulo Python Imaging Library (PIL) será removido, já que ele não aparece estar ativo e mantido e não funciona no Python 3.</p>\n</li>\n<li><p>As APIs privadas seguintes serão removidas:</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> será removido em favor de <code class=\"docutils literal notranslate\"><span class=\"pre\">django.forms.widgets.RadioChoiceInput</span></code>.</p></li>\n<li><p>O módulo <code class=\"docutils literal notranslate\"><span class=\"pre\">django.test.simple</span></code> e a classe <code class=\"docutils literal notranslate\"><span class=\"pre\">django.test.simple.DjangoTestSuiteRunner</span></code> será removida. Utilize no lugar dele <code class=\"docutils literal notranslate\"><span class=\"pre\">django.test.runner.DiscoverRunner</span></code>.</p></li>\n<li><p>O módulo <code class=\"docutils literal notranslate\"><span class=\"pre\">django.test._doctest</span></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\"><span class=\"pre\">CACHE_MIDDLEWARE_ANONYMOUS_ONLY</span></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\"><span class=\"pre\">help_text</span></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\"><span class=\"pre\">Model._meta.get_(add|change|delete)_permission</span></code> será removida.</p></li>\n<li><p>A chave de sessão <code class=\"docutils literal notranslate\"><span class=\"pre\">django_language</span></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\"><span class=\"pre\">django.contrib.gis.sitemaps.views.index</span></code> e <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>, o filtro de template <code class=\"docutils literal notranslate\"><span class=\"pre\">fix_ampersands</span></code> e <code class=\"docutils literal notranslate\"><span class=\"pre\">django.utils.html.clean_html</span></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=\"id5\"></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/1.10/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\"><span class=\"pre\">django.utils.simplejson</span></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\"><span class=\"pre\">json</span></code></a> que deve ser usado em seu lugar.</p></li>\n<li><p>A função <code class=\"docutils literal notranslate\"><span class=\"pre\">django.utils.itercompat.product</span></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\"><span class=\"pre\">mimetype</span></code> para métodos <code class=\"docutils literal notranslate\"><span class=\"pre\">__init__</span></code> de <a class=\"reference internal\" href=\"/pt-br/1.10/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>, <a class=\"reference internal\" href=\"/pt-br/1.10/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>, e <a class=\"reference internal\" href=\"/pt-br/1.10/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>, será removido. <code class=\"docutils literal notranslate\"><span class=\"pre\">content_type</span></code> deve ser usado em seu lugar. Isso também se aplica ao atalho <code class=\"docutils literal notranslate\"><span class=\"pre\">render_to_response()</span></code> e as views de sitemap, <a class=\"reference internal\" href=\"/pt-br/1.10/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> e <a class=\"reference internal\" href=\"/pt-br/1.10/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>Quando <a class=\"reference internal\" href=\"/pt-br/1.10/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> é instanciado com um iterator, ou quando <a class=\"reference internal\" href=\"/pt-br/1.10/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> é setado para um iterator, esse iterator será imediatamente consumido.</p></li>\n<li><p>O setting <code class=\"docutils literal notranslate\"><span class=\"pre\">AUTH_PROFILE_MODULE</span></code>, e o método <code class=\"docutils literal notranslate\"><span class=\"pre\">get_profile()</span></code> do model User serão removidos.</p></li>\n<li><p>O comando de gerenciamento <code class=\"docutils literal notranslate\"><span class=\"pre\">cleanup</span></code> será removido. Ele foi trocado por <code class=\"docutils literal notranslate\"><span class=\"pre\">clearsessions</span></code>.</p></li>\n<li><p>O script <code class=\"docutils literal notranslate\"><span class=\"pre\">daily_cleanup.py</span></code> será removido.</p></li>\n<li><p>O argumento chave <code class=\"docutils literal notranslate\"><span class=\"pre\">depth</span></code> será removido de <a class=\"reference internal\" href=\"/pt-br/1.10/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>As funções não documentadas <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> do <a class=\"reference internal\" href=\"/pt-br/1.10/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> e os métodos <code class=\"docutils literal notranslate\"><span class=\"pre\">save_warnings_state()</span></code>/ <code class=\"docutils literal notranslate\"><span class=\"pre\">restore_warnings_state()</span></code> <a class=\"reference internal\" href=\"/pt-br/1.10/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\"><span class=\"pre\">warnings.catch_warnings</span></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\"><span class=\"pre\">check_for_test_cookie</span></code> na <a class=\"reference internal\" href=\"/pt-br/1.10/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> 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>A versão de <a class=\"reference internal\" href=\"/pt-br/1.10/topics/auth/default/#django.contrib.auth.views.password_reset_confirm\" title=\"django.contrib.auth.views.password_reset_confirm\"><code class=\"xref py py-func docutils literal notranslate\"><span class=\"pre\">django.contrib.auth.views.password_reset_confirm()</span></code></a> que suporta IDs de usuários codificado com base36 (<code class=\"docutils literal notranslate\"><span class=\"pre\">django.contrib.auth.views.password_reset_confirm_uidb36</span></code>) será removida. Se o seu site está rodando Django 1.6 por mais de <a class=\"reference internal\" href=\"/pt-br/1.10/ref/settings/#std-setting-PASSWORD_RESET_TIMEOUT_DAYS\"><code class=\"xref std std-setting docutils literal notranslate\"><span class=\"pre\">PASSWORD_RESET_TIMEOUT_DAYS</span></code></a>, essa mudança não terá efeito. Caso contrário, qualquer link de reset de senha gerado antes de você atualizar para o Django 1.7 não irão funcionar após a atualização.</p></li>\n<li><p>O mix-in <code class=\"docutils literal notranslate\"><span class=\"pre\">django.utils.encoding.StrAndUnicode`</span> <span class=\"pre\">será</span> <span class=\"pre\">removido.</span> <span class=\"pre\">Em</span> <span class=\"pre\">seu</span> <span class=\"pre\">lugar</span> <span class=\"pre\">defina</span> <span class=\"pre\">um</span> <span class=\"pre\">método</span> <span class=\"pre\">``__str__</span></code> e aplique o decorator  <a class=\"reference internal\" href=\"/pt-br/1.10/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\"><span class=\"pre\">python_2_unicode_compatible()</span></code></a>.</p></li>\n</ul>\n</section>\n<section id=\"deprecation-removed-in-1-6\">\n<span id=\"id6\"></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/1.10/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\"><span class=\"pre\">django.contrib.databrowse</span></code> será removido.</p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">django.contrib.localflavor</span></code> será removido seguindo uma depreciação acelerada.</p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">django.contrib.markup</span></code> será removido seguindo uma depreciação acelerada.</p></li>\n<li><p>Os módulos de compatibilidade <code class=\"docutils literal notranslate\"><span class=\"pre\">django.utils.copycompat</span></code> e <code class=\"docutils literal notranslate\"><span class=\"pre\">django.utils.hashcompat</span></code> assim como as funções <code class=\"docutils literal notranslate\"><span class=\"pre\">django.utils.itercompat.all</span></code> e <code class=\"docutils literal notranslate\"><span class=\"pre\">django.utils.itercompat.any</span></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\"><span class=\"pre\">csrf_response_exempt</span></code> e <code class=\"docutils literal notranslate\"><span class=\"pre\">csrf_view_exempt</span></code> serão removidos. Desde a versão 1.4 <code class=\"docutils literal notranslate\"><span class=\"pre\">csrf_response_exempt</span></code> tem sido um no-op (ele retorna a mesma função), e <code class=\"docutils literal notranslate\"><span class=\"pre\">csrf_view_exempt</span></code> tem sido um sinônimo para <code class=\"docutils literal notranslate\"><span class=\"pre\">django.views.decorators.csrf.csrf_exempt</span></code>, que deve ser usado para trocá-lo.</p></li>\n<li><p>O backend <code class=\"docutils literal notranslate\"><span class=\"pre\">django.core.cache.backends.memcached.CacheClass</span></code> foi dividido em dois no Django 1.3 para introduzir o suporte a PyLibMC. O histórico <code class=\"docutils literal notranslate\"><span class=\"pre\">CacheClass</span></code> será removido em favor de <code class=\"docutils literal notranslate\"><span class=\"pre\">django.core.cache.backends.memcached.MemcachedCache</span></code>.</p></li>\n<li><p>Os objetos <code class=\"docutils literal notranslate\"><span class=\"pre\">django.contrib.localflavor.uk</span></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\"><span class=\"pre\">IGNORABLE_404_STARTS</span></code> e <code class=\"docutils literal notranslate\"><span class=\"pre\">IGNORABLE_404_ENDS</span></code> foram substituídos por <a class=\"reference internal\" href=\"/pt-br/1.10/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> 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/1.10/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> 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\"><span class=\"pre\">'mail_admins'</span></code> será removido. O setting <a class=\"reference internal\" href=\"/pt-br/1.10/ref/settings/#std-setting-LOGGING\"><code class=\"xref std std-setting docutils literal notranslate\"><span class=\"pre\">LOGGING</span></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\"><span class=\"pre\">django.utils.text.truncate_words()</span></code> e <code class=\"docutils literal notranslate\"><span class=\"pre\">django.utils.text.truncate_html_words()</span></code> serão removidas em favor da classe <code class=\"docutils literal notranslate\"><span class=\"pre\">django.utils.text.Truncator</span></code>.</p></li>\n<li><p>A classe <code class=\"docutils literal notranslate\"><span class=\"pre\">django.contrib.gis.geoip.GeoIP</span></code> foi movida para <code class=\"docutils literal notranslate\"><span class=\"pre\">django.contrib.gis.geoip</span></code> na 1.4 – o atalho em <code class=\"docutils literal notranslate\"><span class=\"pre\">django.contrib.gis.utils</span></code> será removido.</p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">django.conf.urls.defaults</span></code> será removida. A função <a class=\"reference internal\" href=\"/pt-br/1.10/ref/urls/#django.conf.urls.include\" title=\"django.conf.urls.include\"><code class=\"xref py py-func docutils literal notranslate\"><span class=\"pre\">include()</span></code></a>, <code class=\"docutils literal notranslate\"><span class=\"pre\">patterns()</span></code> e <a class=\"reference internal\" href=\"/pt-br/1.10/ref/urls/#django.conf.urls.url\" title=\"django.conf.urls.url\"><code class=\"xref py py-func docutils literal notranslate\"><span class=\"pre\">url()</span></code></a> além de <a class=\"reference internal\" href=\"/pt-br/1.10/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>, <a class=\"reference internal\" href=\"/pt-br/1.10/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>, agora estão disponíveis através de <a class=\"reference internal\" href=\"/pt-br/1.10/ref/urls/#module-django.conf.urls\" title=\"django.conf.urls\"><code class=\"xref py py-mod docutils literal notranslate\"><span class=\"pre\">django.conf.urls</span></code></a> .</p></li>\n<li><p>As funções <code class=\"docutils literal notranslate\"><span class=\"pre\">setup_environ()</span></code> e <code class=\"docutils literal notranslate\"><span class=\"pre\">execute_manager()</span></code> serão removidas do <a class=\"reference internal\" href=\"/pt-br/1.10/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>. Isso também significa que o velho (pre-1.4) estilo do arquivo <code class=\"file docutils literal notranslate\"><span class=\"pre\">manage.py</span></code>  não irá mais funcionar.</p></li>\n<li><p>Ativar as flags <code class=\"docutils literal notranslate\"><span class=\"pre\">is_safe</span></code> e <code class=\"docutils literal notranslate\"><span class=\"pre\">needs_autoescape</span></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\"><span class=\"pre\">HttpRequest.raw_post_data</span></code> foi renomeado para <code class=\"docutils literal notranslate\"><span class=\"pre\">HttpRequest.body</span></code> na 1.4. A compatibilidade com versões anteriores será removida – <code class=\"docutils literal notranslate\"><span class=\"pre\">HttpRequest.raw_post_data</span></code> não irá mais funcionar.</p></li>\n<li><p>O valor para o parâmetro <code class=\"docutils literal notranslate\"><span class=\"pre\">post_url_continue</span></code> em <code class=\"docutils literal notranslate\"><span class=\"pre\">ModelAdmin.response_add()</span></code> terá que ser <code class=\"docutils literal notranslate\"><span class=\"pre\">None</span></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\"><span class=\"pre\">'../%s/'</span></code>, não serão mais aceitos.</p></li>\n</ul>\n</section>\n<section id=\"deprecation-removed-in-1-5\">\n<span id=\"id7\"></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/1.10/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/1.10/ref/settings/#std-setting-SECRET_KEY\"><code class=\"xref std std-setting docutils literal notranslate\"><span class=\"pre\">SECRET_KEY</span></code></a> irá resultar em uma exceção ao invés de <code class=\"docutils literal notranslate\"><span class=\"pre\">DeprecationWarning</span></code>. (Isso foi acelerado do caminho usual de depreciação; veja as <a class=\"reference internal\" href=\"/pt-br/1.10/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\"><span class=\"pre\">mod_python</span></code> será removido. O handler <code class=\"docutils literal notranslate\"><span class=\"pre\">mod_wsgi</span></code> deve ser usado em seu lugar.</p></li>\n<li><p>O atributo de <code class=\"docutils literal notranslate\"><span class=\"pre\">template</span></code> em objetos <code class=\"docutils literal notranslate\"><span class=\"pre\">django.test.client.Response</span></code> retornados por <a class=\"reference internal\" href=\"/pt-br/1.10/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/1.10/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> deve ser usado em seu lugar.</p></li>\n<li><p>O <code class=\"docutils literal notranslate\"><span class=\"pre\">django.test.simple.DjangoTestRunner</span></code> será removido. Ao invés dele use uma classe nativa de teste unitário. As funcionalidades de <code class=\"docutils literal notranslate\"><span class=\"pre\">django.test.simple.DjangoTestRunner</span></code> (incluindo fail-fast e terminação de test com Ctrl-C) podem ser fornecidas atualemente pela <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\"><span class=\"pre\">TextTestRunner</span></code></a>.</p></li>\n<li><p>A função não documentada <code class=\"docutils literal notranslate\"><span class=\"pre\">django.contrib.formtools.utils.security_hash</span></code> será removida. Ao invés dela use  <code class=\"docutils literal notranslate\"><span class=\"pre\">django.contrib.formtools.utils.form_hmac</span></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/1.10/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\"><span class=\"pre\">django.contrib.staticfiles.handlers.StaticFilesHandler</span></code>.</p></li>\n<li><p>As bibliotecas de tags de template <code class=\"docutils literal notranslate\"><span class=\"pre\">adminmedia</span></code> e a tag de template <code class=\"docutils literal notranslate\"><span class=\"pre\">{%</span> <span class=\"pre\">admin_media_prefix</span> <span class=\"pre\">%}</span></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/1.10/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\"><span class=\"pre\">url</span></code> e <code class=\"docutils literal notranslate\"><span class=\"pre\">ssi</span></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\"><span class=\"pre\">future</span></code>.</p></li>\n<li><p>Os comandos de administração <code class=\"docutils literal notranslate\"><span class=\"pre\">reset</span></code> e <code class=\"docutils literal notranslate\"><span class=\"pre\">sqlreset</span></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\"><span class=\"pre\">supports_inactive_user</span></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/1.10/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> irá lançar <a class=\"reference internal\" href=\"/pt-br/1.10/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> quando chamado em uma geometria sem valor SRID.</p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">django.http.CompatCookie</span></code> será removido em favor de <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> e <code class=\"docutils literal notranslate\"><span class=\"pre\">django.core.context_processors.PermLookupDict</span></code> serão removidos em favor dos correspondentes <code class=\"docutils literal notranslate\"><span class=\"pre\">django.contrib.auth.context_processors.PermWrapper</span></code> e <code class=\"docutils literal notranslate\"><span class=\"pre\">django.contrib.auth.context_processors.PermLookupDict</span></code>, respectivamente.</p></li>\n<li><p>Os settings <a class=\"reference internal\" href=\"/pt-br/1.10/ref/settings/#std-setting-MEDIA_URL\"><code class=\"xref std std-setting docutils literal notranslate\"><span class=\"pre\">MEDIA_URL</span></code></a> ou <a class=\"reference internal\" href=\"/pt-br/1.10/ref/settings/#std-setting-STATIC_URL\"><code class=\"xref std std-setting docutils literal notranslate\"><span class=\"pre\">STATIC_URL</span></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\"><span class=\"pre\">django.db.models.fields.URLField.verify_exists</span></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/1.10/ref/settings/#std-setting-LOCALE_PATHS\"><code class=\"xref std std-setting docutils literal notranslate\"><span class=\"pre\">LOCALE_PATHS</span></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\"><span class=\"pre\">locale</span></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\"><span class=\"pre\">CACHE_BACKEND</span></code> será removido. O backend (ou os backends) de cache deve ser especificado no setting  <a class=\"reference internal\" href=\"/pt-br/1.10/ref/settings/#std-setting-CACHES\"><code class=\"xref std std-setting docutils literal notranslate\"><span class=\"pre\">CACHES</span></code></a>.</p></li>\n</ul>\n</section>\n<section id=\"deprecation-removed-in-1-4\">\n<span id=\"id8\"></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/1.10/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\"><span class=\"pre\">CsrfResponseMiddleware</span></code> e <code class=\"docutils literal notranslate\"><span class=\"pre\">CsrfMiddleware</span></code> serão removidos. Use a tag de template <code class=\"docutils literal notranslate\"><span class=\"pre\">{%</span> <span class=\"pre\">csrf_token</span> <span class=\"pre\">%}``dentro</span> <span class=\"pre\">dos</span> <span class=\"pre\">forms</span> <span class=\"pre\">para</span> <span class=\"pre\">habilitar</span> <span class=\"pre\">a</span> <span class=\"pre\">proteção</span> <span class=\"pre\">CSRF.</span> <span class=\"pre\">``CsrfViewMiddleware</span></code>  permanece e é habilitada por padrão.</p></li>\n<li><p>Os imports antigos da funcionalidade CSRF (<code class=\"docutils literal notranslate\"><span class=\"pre\">django.contrib.csrf.*</span></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\"><span class=\"pre\">django.contrib.gis.db.backend</span></code> será removido em favor dos backends específicos.</p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">SMTPConnection</span></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\"><span class=\"pre\">DATABASE_*</span></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\"><span class=\"pre\">sqlite3</span></code> ao invés de <code class=\"docutils literal notranslate\"><span class=\"pre\">django.db.backends.sqlite3</span></code>) será removido.</p></li>\n<li><p>Os métodos <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> e <code class=\"docutils literal notranslate\"><span class=\"pre\">get_db_prep_lookup</span></code> terão que suportar múltiplos bancos de dados.</p></li>\n<li><p>O model <code class=\"docutils literal notranslate\"><span class=\"pre\">Message</span></code> (em <code class=\"docutils literal notranslate\"><span class=\"pre\">django.contrib.auth</span></code>), o seu manager no model <code class=\"docutils literal notranslate\"><span class=\"pre\">User</span></code> (<code class=\"docutils literal notranslate\"><span class=\"pre\">user.message_set</span></code>), e os métodos associados (<code class=\"docutils literal notranslate\"><span class=\"pre\">user.message_set.create()</span></code> e <code class=\"docutils literal notranslate\"><span class=\"pre\">user.get_and_delete_messages()</span></code>), serão removidos. O framework <a class=\"reference internal\" href=\"/pt-br/1.10/ref/contrib/messages/\"><span class=\"doc\">messages</span></a> deve ser usado em seu lugar. A variável <code class=\"docutils literal notranslate\"><span class=\"pre\">messages</span></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\"><span class=\"pre\">obj</span></code> para verificação de permissões. O atributo <code class=\"docutils literal notranslate\"><span class=\"pre\">supports_object_permissions</span></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\"><span class=\"pre\">AnonymousUser</span></code> sendo passada para todos os métodos que lidam com permissão. A variável <code class=\"docutils literal notranslate\"><span class=\"pre\">supports_anonymous_user</span></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\"><span class=\"pre\">Loader</span></code> irá ser removido, assim como as funções <code class=\"docutils literal notranslate\"><span class=\"pre\">load_template_source</span></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\"><span class=\"pre\">django.utils.translation.get_date_formats()</span></code> e <code class=\"docutils literal notranslate\"><span class=\"pre\">django.utils.translation.get_partial_date_formats()</span></code>. Essas funções serão removidas; use o locale-aware <code class=\"docutils literal notranslate\"><span class=\"pre\">django.utils.formats.get_format()</span></code> para obter os formatos apropriados.</p></li>\n<li><p>Em <code class=\"docutils literal notranslate\"><span class=\"pre\">django.forms.fields</span></code>, as contantes: <code class=\"docutils literal notranslate\"><span class=\"pre\">DEFAULT_DATE_INPUT_FORMATS</span></code>, <code class=\"docutils literal notranslate\"><span class=\"pre\">DEFAULT_TIME_INPUT_FORMATS</span></code> e <code class=\"docutils literal notranslate\"><span class=\"pre\">DEFAULT_DATETIME_INPUT_FORMATS</span></code> serão removidas. Utilize <code class=\"docutils literal notranslate\"><span class=\"pre\">django.utils.formats.get_format()</span></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\"><span class=\"pre\">django.test.simple.run_tests()</span></code>.</p></li>\n<li><p>A view <code class=\"docutils literal notranslate\"><span class=\"pre\">views.feed()</span></code> e a classe <code class=\"docutils literal notranslate\"><span class=\"pre\">feeds.Feed</span></code> em <code class=\"docutils literal notranslate\"><span class=\"pre\">django.contrib.syndication``serão</span> <span class=\"pre\">removidos.</span> <span class=\"pre\">A</span> <span class=\"pre\">view</span> <span class=\"pre\">baseada</span> <span class=\"pre\">em</span> <span class=\"pre\">classe</span> <span class=\"pre\">``views.Feed</span></code> deve ser usada em seu lugar.</p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">django.core.context_processors.auth</span></code>. Essa release irá remover o método antigo em favor do novo método em <code class=\"docutils literal notranslate\"><span class=\"pre\">django.contrib.auth.context_processors.auth</span></code>.</p></li>\n<li><p>O backend do banco de dados <code class=\"docutils literal notranslate\"><span class=\"pre\">postgresql</span></code> será removido, utilize o backend <code class=\"docutils literal notranslate\"><span class=\"pre\">postgresql_psycopg2</span></code> em seu lugar.</p></li>\n<li><p>A linguagem de código <code class=\"docutils literal notranslate\"><span class=\"pre\">no</span></code> será removida e foi trocada pela linguagem de código  <code class=\"docutils literal notranslate\"><span class=\"pre\">nb</span></code>.</p></li>\n<li><p>Backends de autenticação terão que definir o atributo booleano <code class=\"docutils literal notranslate\"><span class=\"pre\">supports_inactive_user</span></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\"><span class=\"pre\">django.db.models.fields.XMLField</span></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\"><span class=\"pre\">TextField</span></code> desde a remoção de <code class=\"docutils literal notranslate\"><span class=\"pre\">oldforms</span></code>. Todos os usos de <code class=\"docutils literal notranslate\"><span class=\"pre\">XMLField</span></code> podem ser substituídos com <code class=\"docutils literal notranslate\"><span class=\"pre\">TextField</span></code>.</p></li>\n<li><p>O parâmetro não documentado <code class=\"docutils literal notranslate\"><span class=\"pre\">mixin</span></code> para o método <code class=\"docutils literal notranslate\"><span class=\"pre\">open()</span></code> de <code class=\"docutils literal notranslate\"><span class=\"pre\">django.core.files.storage.Storage</span></code> (e subclasses) serão removidas.</p></li>\n</ul>\n</section>\n<section id=\"deprecation-removed-in-1-3\">\n<span id=\"id9\"></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/1.10/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\"><span class=\"pre\">AdminSite.root()</span></code>.  Esse método de ligação de URLs admin será removido em favor da inclusão de <code class=\"docutils literal notranslate\"><span class=\"pre\">admin.site.urls</span></code>.</p></li>\n<li><p>Backends de autenticação precisam definir os atributos booleanos <code class=\"docutils literal notranslate\"><span class=\"pre\">supports_object_permissions</span></code> e <code class=\"docutils literal notranslate\"><span class=\"pre\">supports_anonymous_user</span></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":"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/1.10/internals/"}],"prev":{"docname":"internals/release-process","title":"Processo de release do Django","url":"/pt-br/1.10/internals/release-process/"},"next":{"docname":"internals/git","title":"O repositório de código-fonte do Django","url":"/pt-br/1.10/internals/git/"},"formats":{"html":"/pt-br/1.10/internals/deprecation/","markdown":"/pt-br/1.10/internals/deprecation.md","json":"/pt-br/1.10/internals/deprecation.json"},"source":"https://github.com/django/django/blob/stable/1.10.x/docs/internals/deprecation.txt","official":"https://docs.djangoproject.com/pt-br/1.10/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","fr","ja","id","pt-br","es","el","pl"]}