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 política de depreciação. Mais detalhes sobre cada item geralmente podem ser encontrados nas notas da release de duas versões anteriores.
Veja as notas da release do Django 1.9 para mais detalhes sobre essas mudanças.
O argumento weak
de django.dispatch.signals.Signal.disconnect()
será removido.
O pacote django.forms.extras
será removido.
O helper assignment_tag
será removido.
O argumento host
em assertsRedirects
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.
Field.rel
será removido.
O atributo Field.remote_field.to
será removido.
O argumento on_delete
para ForeignKey
e OneToOneField
será requerido.
django.db.models.fields.add_lazy_relation()
será removido.
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 cursor.execute()
.
O decorator django.contrib.auth.tests.utils.skipIfCustomUser()
será removido.
As classes GeoManager
e GeoQuerySet
serão removidas.
O módulo django.contrib.gis.geoip
será removido.
A verificação de supports_recursion
para template loaders será removido de:
django.template.engine.Engine.find_template()
django.template.loader_tags.ExtendsNode.find_template()
django.template.loaders.base.Loader.supports_recursion()
django.template.loaders.cached.Loader.supports_recursion()
Os métodos de template loaders load_template()
e load_template_sources()
serão removidos.
O argumento template_dirs
para template loaders será removido.
django.template.loaders.base.Loader.get_template()
django.template.loaders.cached.Loader.cache_key()
django.template.loaders.cached.Loader.get_template()
django.template.loaders.cached.Loader.get_template_sources()
django.template.loaders.filesystem.Loader.get_template_sources()
O método django.template.loaders.base.Loader.__call__()
será removido.
Suporte para views com erros customizados com um parâmetro posicional será removido.
o atributo mime_type
de django.utils.feedgenerator.Atom1Feed
e django.utils.feedgenerator.RssFeed
será removido para promover content_type
.
O argumento app_name
em include()
será removido.
Suporte a passagem de tuplas de 3 elementos como primeiro argumento no include()
será removido.
Suporte para setar o namespace de uma instância de URL sem um namespace de aplicação será removido.
Field._get_val_from_obj()
será removido para promover Field.value_from_object()
.
django.template.loaders.eggs.Loader
será removido.
O parâmetro current_app
para views contrib.auth
será removido.
O argumento chave callable_obj
para SimpleTestCase.assertRaisesMessage()
será removido.
Suporte para o atributo allow_tags
em métodos de ModelAdmin
serão removidos.
O argumento chave enclosure
em SyndicationFeed.add_item()
será removido.
Os aliases de django.template.loader.LoaderOrigin
e django.template.base.StringOrigin
para django.template.base.Origin
serão removidos.
Veja as notas da release do Django 1.8 para mais detalhes sobre essas mudanças.
Suporte para a possibilidade de chamar o SQLCompiler
diretamente como um alias para o seu método quote_name_unless_alias
será removido.
As tags de template cycle
and firstof
serão removidas da biblioteca de tags de template future
.
django.conf.urls.patterns()
será removido.
Suporte para o argumento prefix
do django.conf.urls.i18n.i18n_patterns()
será removido.
SimpleTestCase.urls
será removido.
Usar uma contagem incorreta de valores despacotados em uma tag de template for
irá lançar uma exceção ao invés de falhar silenciosamente.
A habilidade reverse()
em URLs que contenham caminhos Python com pontos será removida.
A habilidade de usar um caminho Python contendo pontos para os settings LOGIN_URL
and LOGIN_REDIRECT_URL
será removida.
Suporte para o módulo optparse
será descartado para custom management commands (trocado pleo módulo argparse
).
A classe NoArgsCommand
será removida. Utilize a classe BaseCommand
, que não precisa de quaisquer argumentos por padrão.
O módulo django.core.context_processors
será removido.
O módulo django.db.models.sql.aggregates
será removido.
O módulo django.contrib.gis.db.models.sql.aggregates
será removido.
Os métodos e propriedades de django.db.sql.query.Query
a seguir serão removidas:
Propriedades: aggregates
e aggregate_select
Métodos: add_aggregate
, set_aggregate_mask
, e append_aggregate_mask
.
django.template.resolve_variable
será removido.
As APIs privadas abaixo serão removidas de django.db.models.options.Options
(Model._meta
):
get_field_by_name()
get_all_field_names()
get_fields_with_model()
get_concrete_fields_with_model()
get_m2m_with_model()
get_all_related_objects()
get_all_related_objects_with_model()
get_all_related_many_to_many_objects()
get_all_related_m2m_objects_with_model()
O argumento error_message
de django.forms.RegexField
será removido.
O filtro unordered_list
não irá mais suportar listas do estilo antigo.
Suporte a argumentos view
no formato string para url()
será removido.
O calço de compatibilidade com versões anteriores para renomear django.forms.Form._has_changed()
para has_changed()
foi removido.
O filter de template removetags
será removido.
As funções remove_tags()
e strip_entities()
em django.utils.html
serão removidas.
O argumento is_admin_site
para django.contrib.auth.views.password_reset()
será removido.
django.db.models.field.subclassing.SubfieldBase
será removido.
django.utils.checksums
será removido; A sua funcionalidade está incluída em django-localflavor 1.1+.
O atributo original_content_type_id
em django.contrib.admin.helpers.InlineAdminForm
será removido.
O calço de compatibilidade com versões anteriores para permitir FormMixin.get_form()
ser definido sem valor padrão para o seu argumento form_class
foi removido.
As configurações abaixo serão removidas:
ALLOWED_INCLUDE_ROOTS
TEMPLATE_CONTEXT_PROCESSORS
TEMPLATE_DEBUG
TEMPLATE_DIRS
TEMPLATE_LOADERS
TEMPLATE_STRING_IF_INVALID
O alias de compatibilidade com versões anteriores django.template.loader.BaseLoader
será removido.
Objetos de template do Django retornados por get_template()
e select_template()
não irão mais aceitar um Context
em seu método render()
.
APIs de resposta de templates irão reforçar o uso de dict
e objetos de template dependentes de backend ao invés de Context
e Template
respectivamente.
O current_app
parâmetro para as funções e classes abaixo será removido:
django.shortcuts.render()
django.template.Context()
django.template.RequestContext()
django.template.response.TemplateResponse()
Os parâmetros dictionary
e context_instance
para as funções abaixo serão removidos
django.shortcuts.render()
django.shortcuts.render_to_response()
django.template.loader.render_to_string()
O parâmetro dirs
para as funções abaixo será removido:
django.template.loader.get_template()
django.template.loader.select_template()
django.shortcuts.render()
django.shortcuts.render_to_response()
Verificação de sessão será habilitado independentemente de 'django.contrib.auth.middleware.SessionAuthenticationMiddleware'
estar ou não dentro de MIDDLEWARE_CLASSES
.
O atributo privado django.db.models.Field.related
será removido.
A opção --list
do comando migrate
será removido.
A tag template ssi
será removida.
Suporte para o operador de comparação =
na tag de template if
será removido.
O calço de compatibilidade com versões anteriores para permitir Storage.get_available_name()
e Storage.save()
ser definido sem um argumento max_length
será removido.
Suporte para a sintaxe legada %(<foo>)s
no ModelFormMixin.success_url
será removido.
Os métodos do GeoQuerySet
de agregação collect()
, extent()
, extent3d()
, make_line()
, e unionagg()
serão removidos.
A abilidade para especificar ContentType.name
ao criar uma instância será removido.
Suporte para a assinatura antiga de allow_migrate
será removido. Ele mudou de allow_migrate(self, db, model)
para allow_migrate(self, db, app_label, model_name=None, **hints)
.
Suporte para a sintaxe de {% cycle %}
que utiliza argumentos separados por vírgulas será removido.
O aviso que Signer
emite quando é fornecido um separador inválido irá se tornar uma exceção.
Veja as notas da release do Django 1.7 para mais detalhes nessas mudanças.
django.utils.dictconfig
será removido.
django.utils.importlib
será removido.
django.utils.tzinfo
será removido.
django.utils.unittest
será removido.
O comando syncdb
será removido.
django.db.models.signals.pre_syncdb
e django.db.models.signals.post_syncdb
serão removidos.
allow_syncdb
em roteadores de bancos de dados não irão mais ficar automaticamente allow_migrate
.
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 --run-syncdb
para o comando migrate
.
Os SQL management commands para apps sem migrações, sql`, sqlall
, sqlclear
, sqldropindexes
, and sqlindexes
, será removido.
Suporte para carregamento automático de fixtures initial_data
e dados SQL iniciais serão removidos.
Todos os modelos precisarão ser definidos dentro de aplicações instaladas ou declarados explicitamente app_label
. 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.
O model e form IPAddressField
serão removidos. Um campo stub irá permanecer para compatibilidade com migrations passadas.
AppCommand.handle_app()
não será mais suportado.
RequestSite
e get_current_site()
não irão mais ser importáveis de django.contrib.sites.models
.
Suporte a FastCGI pelo comando de administração runfcgi
será removido. Por favor faça deploy do seu projeto usando WSGI.
django.utils.datastructures.SortedDict
será removido. Utilize collections.OrderedDict
da biblioteca padrão do Python.
ModelAdmin.declared_fieldsets
será removido.
Instâncias de util.py
no código base do Django foram renomeadas para utils.py
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.
django.contrib.admin.util
django.contrib.gis.db.backends.util
django.db.backends.util
django.forms.util
ModelAdmin.get_formsets
será removido.
O calço de compatibilidade com versões anteriores introduzido para renomear o método BaseMemcachedCache._get_memcache_timeout()
para get_backend_timeout()
foi removido.
As opções``–natural`` e -n
para dumpdata
serão removidas.
O argumento use_natural_keys
para serializers.serialize()
será removido.
A API privada django.forms.forms.get_declared_fields()
será removida.
A abilidade de utilizar o SplitDateTimeWidget
com DateTimeField
será removido.
A propriedade WSGIRequest.REQUEST
será removida.
A classe django.utils.datastructures.MergeDict
será removida.
Os códigos de linguagens zh-cn
e zh-tw
serão removidos e trocados pelos códigos de linguagem zh-hans
e ``zh-hant``respectivamente.
O “internal” django.utils.functional.memoize
será removido.
django.core.cache.get_cache
será removido. Ao invés dele, adicione as entradas convenientes a CACHES
e use django.core.cache.caches
.
django.db.models.loading
será removido.
Passar argumentos que possam ser invocados para querysets não será mais possível.
BaseCommand.requires_model_validation``será removido em favor de ``requires_system_checks
. Admin validators serão trocados por admin checks.
Os atributos ModelAdmin.validator_class
e default_validator_class
serão removidos.
ModelAdmin.validate()
será removido.
django.db.backends.DatabaseValidation.validate_field
será removido em favor do método check_field
.
O comando de administração validate
será removido.
django.utils.module_loading.import_by_path
será removido em favor de``django.utils.module_loading.import_string``.
As tags de template `ssi` e url
serão removidas da biblioteca de tags de template future
(usado durante o período de depreciação 1.3/1.4).
django.utils.text.javascript_quote
será removido.
A configuração de bancos de dados de teste com entradas independentes nos settings dos bancos de dados, prefixado com TEST_
, não será mais suportado.
A opção cache_choices para ModelChoiceField
e ModelMultipleChoiceField
será removido.
O valor padrão do RedirectView.permanent
atributo irá mudar de True
para False
.
django.contrib.sitemaps.FlatPageSitemap
será removido em favor de django.contrib.flatpages.sitemaps.FlatPageSitemap
.
A API privada django.test.utils.TestTemplateLoader
será removida.
O módulo django.contrib.contenttypes.generic
será removido.
As APIs privadas django.db.models.sql.where.WhereNode.make_atom()
e django.db.models.sql.where.Constraint
serão removidos.
Veja as notas de release Django 1.6 para mais detalhes sobre essas mudanças.
django.contrib.comments
será removido.
As APIs de gerenciamento de transações seguintes serão removidas:
TransactionMiddleware
,Os decorators e context managers autocommit
, commit_on_success
, e commit_manually
, definidos em django.db.transaction
,
As funções commit_unless_managed
e rollback_unless_managed
, também definidos em django.db.transaction
,
O setting TRANSACTIONS_MANAGED
.
As tags de template cycle
e firstof
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 future
.
O setting SEND_BROKEN_LINK_EMAILS
será removido. Para substitui-lo, adicione o django.middleware.common.BrokenLinkEmailsMiddleware
middleware MIDDLEWARE_CLASSES
no seu setting.
django.middleware.doc.XViewMiddleware
será removido. Ao invés dele, use django.contrib.admindocs.middleware.XViewMiddleware
.
Model._meta.module_name
foi renomeado para model_name
.
Removido o calço de compatibilidade com versões anteriores introduzido para renomear get_query_set
e métodos do queryset similares. Isso afeta as seguintes classes: BaseModelAdmin
, ChangeList
, BaseCommentNode
, GenericForeignKey
, Manager
, SingleRelatedObjectDescriptor
e ReverseSingleRelatedObjectDescriptor
.
Remove o calço de compatibilidade com versões anteriores introduzido para renomear os atributos ChangeList.root_query_set
e ChangeList.query_set
.
django.views.defaults.shortcut
será removido, como parte do objetivo de remover todas as referências a django.contrib
do núcleo do banco de dados do Django. Ao invés dele use django.contrib.contenttypes.views.shortcut
. django.conf.urls.shortcut
também será removido.
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.
As APIs privadas seguintes serão removidas:
django.db.backend
django.db.close_connection()
django.db.backends.creation.BaseDatabaseCreation.set_autocommit()
django.db.transaction.is_managed()
django.db.transaction.managed()
django.forms.widgets.RadioInput
será removido em favor de django.forms.widgets.RadioChoiceInput
.
O módulo django.test.simple
e a classe django.test.simple.DjangoTestSuiteRunner
será removida. Utilize no lugar dele django.test.runner.DiscoverRunner
.
O módulo django.test._doctest
será removido. Ao invés disso use o módulo doctest module da biblioteca padrão do Python.
O setting CACHE_MIDDLEWARE_ANONYMOUS_ONLY
será removido.
Utilização do Hold down “Control”, or “Command” em um Mac, para selecionar mais de um. string para sobreescrever ou apensar para o help_text
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.
A permissão Model._meta.get_(add|change|delete)_permission
será removida.
A chave de sessão django_language
não será mais lida para compatibilidade com versões anteriores.
Geographic Sitemaps será removido (django.contrib.gis.sitemaps.views.index
e django.contrib.gis.sitemaps.views.sitemap
).
django.utils.html.fix_ampersands
, o filtro de template fix_ampersands
e django.utils.html.clean_html
serão removidos seguindo uma depreciação acelerada.
Veja as notas da release do Django 1.5 para mais detalhes sobre essas mudanças.
O módulo django.utils.simplejson
será removido. A biblioteca padrão provê json
que deve ser usado em seu lugar.
A função django.utils.itercompat.product
será removida. A versão embutida no Python deve ser usada em seu lugar.
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.
O argumento mimetype
para métodos __init__
de HttpResponse
, SimpleTemplateResponse
, e TemplateResponse
, será removido. content_type
deve ser usado em seu lugar. Isso também se aplica ao atalho render_to_response()
e as views de sitemap, index()
e sitemap()
.
Quando HttpResponse
é instanciado com um iterator, ou quando content
é setado para um iterator, esse iterator será imediatamente consumido.
O setting AUTH_PROFILE_MODULE
, e o método get_profile()
do model User serão removidos.
O comando de gerenciamento cleanup
será removido. Ele foi trocado por clearsessions
.
O script daily_cleanup.py
será removido.
O argumento chave depth
será removido de select_related()
.
As funções não documentadas get_warnings_state()
/restore_warnings_state()
do django.test.utils
e os métodos save_warnings_state()
/ restore_warnings_state()
django.test.*TestCase foram depreciados. Use o warnings.catch_warnings
context manager disponível a partir do Python 2.6 em seu lugar.
O método não documentado check_for_test_cookie
na AuthenticationForm
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.
A versão de django.contrib.auth.views.password_reset_confirm()
que suporta IDs de usuários codificado com base36 (django.contrib.auth.views.password_reset_confirm_uidb36
) será removida. Se o seu site está rodando Django 1.6 por mais de PASSWORD_RESET_TIMEOUT_DAYS
, 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.
O mix-in django.utils.encoding.StrAndUnicode` será removido. Em seu lugar defina um método ``__str__
e aplique o decorator python_2_unicode_compatible()
.
Veja as notas da release do Django 1.4 para mais detalhes sobre essas mudanças.
django.contrib.databrowse
será removido.
django.contrib.localflavor
será removido seguindo uma depreciação acelerada.
django.contrib.markup
será removido seguindo uma depreciação acelerada.
Os módulos de compatibilidade django.utils.copycompat
e django.utils.hashcompat
assim como as funções django.utils.itercompat.all
e django.utils.itercompat.any
serão removidos. Em seu lugar utiize as versões embutidas no Python.
Os decorators csrf_response_exempt
e csrf_view_exempt
serão removidos. Desde a versão 1.4 csrf_response_exempt
tem sido um no-op (ele retorna a mesma função), e csrf_view_exempt
tem sido um sinônimo para django.views.decorators.csrf.csrf_exempt
, que deve ser usado para trocá-lo.
O backend django.core.cache.backends.memcached.CacheClass
foi dividido em dois no Django 1.3 para introduzir o suporte a PyLibMC. O histórico CacheClass
será removido em favor de django.core.cache.backends.memcached.MemcachedCache
.
Os objetos django.contrib.localflavor.uk
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).
Os settings IGNORABLE_404_STARTS
e IGNORABLE_404_ENDS
foram substituídos por IGNORABLE_404_URLS
na release 1.4. Eles serão removidos.
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.
Formas legadas de chamar cache_page()
será removida.
O calço de compatibilidade para adicionar automaticamente um filtro de debug-false para o logging handler 'mail_admins'
será removido. O setting LOGGING
deve incluir esse filtro explicitamente se ele for desejado.
As funções embutidas de truncamento django.utils.text.truncate_words()
e django.utils.text.truncate_html_words()
serão removidas em favor da classe django.utils.text.Truncator
.
A classe GeoIP
foi movida para django.contrib.gis.geoip
na 1.4 – o atalho em django.contrib.gis.utils
será removido.
django.conf.urls.defaults
será removido. As funções include()
, patterns()
e url()
além de handler404
, handler500
, agora estão disponíveis através do django.conf.urls
.
As funções setup_environ()
e execute_manager()
serão removidas do django.core.management
. Isso também significa que o velho (pre-1.4) estilo do arquivo manage.py
não irá mais funcionar.
Ativar as flags is_safe
e needs_autoescape
como atributos de funções de filtro de template não será mais suportado.
O atributo HttpRequest.raw_post_data
foi renomeado para HttpRequest.body
na 1.4. A compatibilidade com versões anteriores será removida – HttpRequest.raw_post_data
não irá mais funcionar.
O valor para o parâmetro post_url_continue
em ModelAdmin.response_add()
terá que ser None
(para redirecionar para novos objetos edit page criados) ou uma url pré-formatada. Formatos de strings, tais como o antigo padrão '../%s/'
, não serão mais aceitos.
Veja as notas de release do Django 1.3 para mais detalhes sobre essas mudanças.
Começar o Django sem um SECRET_KEY
irá resultar em uma exceção ao invés de DeprecationWarning
. (Isso foi acelerado do caminho usual de depreciação; veja as notas de release do Django 1.4.)
O request handler mod_python
será removido. O handler mod_wsgi
deve ser usado em seu lugar.
O atributo de template
em objetos django.test.client.Response
retornados por test client será removido. O atributo templates
deve ser usado em seu lugar.
O django.test.simple.DjangoTestRunner
será removido. Ao invés dele use uma classe nativa de teste unitário. As funcionalidades de django.test.simple.DjangoTestRunner
(incluindo fail-fast e terminação de test com Ctrl-C) podem ser fornecidas atualemente pela TextTestRunner
.
A função não documentada django.contrib.formtools.utils.security_hash
será removida. Ao invés dela use django.contrib.formtools.utils.form_hmac
.
Os módulos baseados em funções de view genéricas serão removidos em favor de seus equivalentes baseados em classes, descritos aqui.
O``django.core.servers.basehttp.AdminMediaHandler`` será removido. Em seu lugar use django.contrib.staticfiles.handlers.StaticFilesHandler
.
As bibliotecas de tags de template adminmedia
e a tag de template {% admin_media_prefix %}
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 notas de release do Django 1.4.)
As tags de template url
e ssi
serão modificadas de modo que o primeiro argumento para cada tag é a variável template, não uma string implícita. Na 1.4, esse comportamento é providenciado pela versão da tag dentro da biblioteca de tags de template future
.
Os comandos de administração reset
e sqlreset
serão removidos.
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 supports_inactive_user
não será mais verificado e pode ser removido de backends customizados.
O transform()
irá lançar GEOSException
quando chamado em uma geometria sem valor SRID.
django.http.CompatCookie
será removido em favor de django.http.SimpleCookie
.
django.core.context_processors.PermWrapper
e django.core.context_processors.PermLookupDict
serão removidos em favor dos correspondentes django.contrib.auth.context_processors.PermWrapper
e django.contrib.auth.context_processors.PermLookupDict
, respectivamente.
Os settings MEDIA_URL
ou STATIC_URL
terão que terminar com um slash para garantir que existe uma forma consistente de combinar caminhos nos templates.
django.db.models.fields.URLField.verify_exists
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.
Traduções localizadas sob o então chamado project path serão ignoradas durante o processo de construção da tradução executado em runtime. O setting LOCALE_PATHS
pode ser usado para a mesma tarefa quando incluido o caminho do sistema de arquivos para um diretório de locale
contendo traduções não específicas de apps em seu valor.
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.
O setting CACHE_BACKEND
será removido. O backend (ou os backends) de cache deve ser especificado no setting CACHES
.
Veja as notas de release do Django 1.2 para mais detalhes sobre essas mudanças.
CsrfResponseMiddleware
e CsrfMiddleware
serão removidos. Use a tag de template {% csrf_token %}``dentro dos forms para habilitar a proteção CSRF. ``CsrfViewMiddleware
permanece e é habilitada por padrão.
Os imports antigos da funcionalidade CSRF (django.contrib.csrf.*
), que foi movido para o core em 1.2, será removido.
O módulo django.contrib.gis.db.backend
será removido em favor dos backends específicos.
SMTPConnection
será removido em favor de uma API de backend genérica.
As funções de geração SQL many to many nos backends de banco de dados serão removidos.
A habilidade de usar a família de settings top-level DATABASE_*
para definir conexões de banco de dados será removida.
A habilidade para usar notações curtas para especificar o backend do banco de dados (ex sqlite3
ao invés de django.db.backends.sqlite3
) será removido.
Os métodos get_db_prep_save
, get_db_prep_value
e get_db_prep_lookup
terão que suportar múltiplos bancos de dados.
O model Message
(em django.contrib.auth
), o seu manager no model User
(user.message_set
), e os métodos associados (user.message_set.create()
e user.get_and_delete_messages()
), serão removidos. O framework messages deve ser usado em seu lugar. A variável messages
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.
Backends de autenticação terão que suportar o parâmetro obj
para verificação de permissões. O atributo supports_object_permissions
não irá mais ser checado e pode ser removido dos backends customizados.
Backends de autenticação terá que suportar a classe AnonymousUser
sendo passada para todos os métodos que lidam com permissão. A variável supports_anonymous_user
não irá mais ser checada e pode ser removida dos backends customizados.
A habilidade para especificar um template loader invocável ao invés de uma classe Loader
irá ser removido, assim como as funções load_template_source
que estão incluídas com os template loaders embutidos para compatibilidade com versões anteriores.
django.utils.translation.get_date_formats()
e django.utils.translation.get_partial_date_formats()
. Essas funções serão removidas; use o locale-aware django.utils.formats.get_format()
para obter os formatos apropriados.
Em django.forms.fields
, as contantes: DEFAULT_DATE_INPUT_FORMATS
, DEFAULT_TIME_INPUT_FORMATS
e DEFAULT_DATETIME_INPUT_FORMATS
serão removidas. Utilize django.utils.formats.get_format()
para obter os formatos apropriados.
A habilidade de usar um executor de testes baseado em função será removido, assim como o executor de teste django.test.simple.run_tests()
.
A view views.feed()
e a classe feeds.Feed
em django.contrib.syndication``serão removidos. A view baseada em classe ``views.Feed
deve ser usada em seu lugar.
django.core.context_processors.auth
. Essa release irá remover o método antigo em favor do novo método em django.contrib.auth.context_processors.auth
.
O backend do banco de dados postgresql
será removido, utilize o backend postgresql_psycopg2
em seu lugar.
A linguagem de código no
será removida e foi trocada pela linguagem de código nb
.
Backends de autenticação terão que definir o atributo booleano supports_inactive_user
até a versão 1.5 onde se assumirá que todos os backends irão tratar usuários inativos.
django.db.models.fields.XMLField
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 TextField
desde a remoção de oldforms
. Todos os usos de XMLField
podem ser substituídos com TextField
.
O parâmetro não documentado mixin
para o método open()
de django.core.files.storage.Storage
(e subclasses) serão removidas.
Veja as notas da release do Django 1.1 para mais detalhes sobre essas mudanças.
AdminSite.root()
. Esse método de ligação de URLs admin será removido em favor da inclusão de admin.site.urls
.
Backends de autenticação precisam definir os atributos booleanos supports_object_permissions
e supports_anonymous_user
até a versão 1.4, na qual será assumido que todos os backends suportam essas opções.
ago 01, 2016