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.
See the Django 5.0 release notes for more details on these changes.
DjangoDivFormRenderer and Jinja2DivFormRenderer transitional form
renderers will be removed.BaseConstraint will be
removed.request will be required in the signature of
ModelAdmin.lookup_allowed() subclasses.django.db.models.sql.datastructures.Join will no longer fallback to
get_joining_columns().get_joining_columns() method of ForeignObject and
ForeignObjectRel will be removed.ForeignObject.get_reverse_joining_columns() method will be removed.forms.URLField will change from "http" to
"https".format_html() without passing args or kwargs will be
removed.cx_Oracle will be removed.BaseDatabaseOperations.field_cast_sql() will be removed.ChoicesMeta alias to django.db.models.enums.ChoicesType will be
removed.Prefetch.get_current_queryset() method will be removed.get_prefetch_queryset() method of related managers and descriptors
will be removed.get_prefetcher() and prefetch_related_objects() will no longer
fallback to get_prefetch_queryset().FORMS_URLFIELD_ASSUME_HTTPS transitional setting will be removed.See the Django 4.2 release notes for more details on these changes.
BaseUserManager.make_random_password() method will be removed.Meta.index_together option will be removed.length_is template filter will be removed.django.contrib.auth.hashers.SHA1PasswordHasher,
django.contrib.auth.hashers.UnsaltedSHA1PasswordHasher, and
django.contrib.auth.hashers.UnsaltedMD5PasswordHasher will be removed.django.contrib.postgres.fields.CICharField,
django.contrib.postgres.fields.CIEmailField, and
django.contrib.postgres.fields.CITextField will be removed. Stub fields
will remain for compatibility with historical migrations.django.contrib.postgres.fields.CIText mixin will be removed.map_width and map_height attributes of BaseGeometryWidget
will be removed.SimpleTestCase.assertFormsetError() method will be removed.TransactionTestCase.assertQuerysetEqual() method will be removed.JSONField and
associated lookups and expressions will be removed.Signer and
TimestampSigner will be removed.DEFAULT_FILE_STORAGE and STATICFILES_STORAGE settings will be
removed.django.core.files.storage.get_storage_class() function will be
removed.See the Django 4.0 release notes for more details on these changes.
SERIALIZE test setting will be removed.django.utils.baseconv module will be removed.django.utils.datetime_safe module will be removed.USE_TZ setting will change from False to
True.'http' to 'https'.extra_tests argument for DiscoverRunner.build_suite() and
DiscoverRunner.run_tests() will be removed.django.contrib.postgres.aggregates.ArrayAgg, JSONBAgg, and
StringAgg aggregates will return None when there are no rows instead
of [], [], and '' respectively.USE_L10N setting will be removed.USE_DEPRECATED_PYTZ transitional setting will be removed.pytz timezones will be removed.is_dst argument will be removed from:QuerySet.datetimes()django.utils.timezone.make_aware()django.db.models.functions.Trunc()django.db.models.functions.TruncSecond()django.db.models.functions.TruncMinute()django.db.models.functions.TruncHour()django.db.models.functions.TruncDay()django.db.models.functions.TruncWeek()django.db.models.functions.TruncMonth()django.db.models.functions.TruncQuarter()django.db.models.functions.TruncYear()django.contrib.gis.admin.GeoModelAdmin and OSMGeoAdmin classes
will be removed.BaseForm._html_output() method will be removed.str, rather than a SafeString, when rendering
an ErrorDict and ErrorList will be removed.See the Django 4.1 release notes for more details on these changes.
SitemapIndexItem.__str__() method will be removed.CSRF_COOKIE_MASKED transitional setting will be removed.name argument of django.utils.functional.cached_property() will
be removed.opclasses argument of
django.contrib.postgres.constraints.ExclusionConstraint will be removed.errors=None to
SimpleTestCase.assertFormError() and assertFormsetError() will be
removed.django.contrib.sessions.serializers.PickleSerializer will be removed.QuerySet.iterator() on a queryset that prefetches related
objects without providing the chunk_size argument will no longer be
allowed.created=True will be required in the signature of
RemoteUserBackend.configure_user() subclasses.GET requests in the
django.contrib.auth.views.LogoutView and
django.contrib.auth.views.logout_then_login() will be removed.django.utils.timezone.utc alias to datetime.timezone.utc will be
removed.SimpleTestCase.assertFormError() and assertFormsetError() will no
longer be allowed.django.contrib.gis.admin.OpenLayersWidget will be removed.django.contrib.auth.hashers.CryptPasswordHasher will be removed."django/forms/default.html" and
"django/forms/formsets/default.html" templates will be removed.nulls_first=False or nulls_last=False to
Expression.asc() and Expression.desc() methods, and the OrderBy
expression will be removed.See the Django 3.2 release notes for more details on these changes.
copy.deepcopy() to class attributes in TestCase.setUpTestData() will
be removed.BaseCommand.requires_system_checks won’t support boolean values.whitelist argument and domain_whitelist attribute of
django.core.validators.EmailValidator will be removed.default_app_config module variable will be removed.TransactionTestCase.assertQuerysetEqual() will no longer automatically
call repr() on a queryset when compared to string values.django.core.cache.backends.memcached.MemcachedCache will be removed.django.contrib.messages.storage.cookie.CookieStorage will be removed.See the Django 3.0 release notes for more details on these changes.
django.utils.http.urlquote(), urlquote_plus(), urlunquote(), and
urlunquote_plus() will be removed.django.utils.encoding.force_text() and smart_text() will be removed.django.utils.translation.ugettext(), ugettext_lazy(),
ugettext_noop(), ungettext(), and ungettext_lazy() will be
removed.django.views.i18n.set_language() will no longer set the user language in
request.session (key django.utils.translation.LANGUAGE_SESSION_KEY).alias=None will be required in the signature of
django.db.models.Expression.get_group_by_cols() subclasses.django.utils.text.unescape_entities() will be removed.django.utils.http.is_safe_url() will be removed.See the Django 3.1 release notes for more details on these changes.
PASSWORD_RESET_TIMEOUT_DAYS setting will be removed.isnull lookup with non-boolean values
as the right-hand side will no longer be allowed.django.db.models.query_utils.InvalidQuery exception class will be
removed.django-admin.py entry point will be removed.HttpRequest.is_ajax() method will be removed.django.contrib.messages.storage.cookie.CookieStorage will be removed.django.core.signing.Signer signatures
(encoded with the SHA-1 algorithm) will be removed.django.core.signing.dumps() signatures
(encoded with the SHA-1 algorithm) in django.core.signing.loads() will be
removed.get_response argument for
django.utils.deprecation.MiddlewareMixin.__init__() will be required and
won’t accept None.providing_args argument for django.dispatch.Signal will be
removed.length argument for django.utils.crypto.get_random_string() will
be required.list message for ModelMultipleChoiceField will be removed.QuerySet.order_by() will be
removed.NullBooleanField will be removed. A stub field will remain for
compatibility with historical migrations.django.conf.urls.url() will be removed.django.contrib.postgres.fields.JSONField will be removed. A
stub field will remain for compatibility with historical migrations.django.contrib.postgres.forms.JSONField,
django.contrib.postgres.fields.jsonb.KeyTransform, and
django.contrib.postgres.fields.jsonb.KeyTextTransform will be removed.{% ifequal %} and {% ifnotequal %} template tags will be removed.DEFAULT_HASHING_ALGORITHM transitional setting will be removed.See the Django 2.2 release notes for more details on these changes.
django.utils.timezone.FixedOffset will be removed.django.core.paginator.QuerySetPaginator will be removed.Meta.ordering will no longer affect GROUP BY queries.django.contrib.postgres.fields.FloatRangeField and
django.contrib.postgres.forms.FloatRangeField will be removed.FILE_CHARSET setting will be removed.django.contrib.staticfiles.storage.CachedStaticFilesStorage will be
removed.RemoteUserBackend.configure_user() will require request as the first
positional argument.SimpleTestCase.allow_database_queries and
TransactionTestCase.multi_db will be removed.See the Django 2.0 release notes for more details on these changes.
django.db.backends.postgresql_psycopg2 module will be removed.django.shortcuts.render_to_response() will be removed.DEFAULT_CONTENT_TYPE setting will be removed.HttpRequest.xreadlines() will be removed.context argument of Field.from_db_value() and
Expression.convert_value() will be removed.field_name keyword argument of QuerySet.earliest() and
latest() will be removed.See the Django 2.1 release notes for more details on these changes.
django.contrib.gis.db.models.functions.ForceRHR will be removed.django.utils.http.cookie_date() will be removed.staticfiles and admin_static template tag libraries will be
removed.django.contrib.staticfiles.templatetags.static() will be removed.InlineModelAdmin.has_add_permission() to be defined
without an obj argument will be removed.See the Django 1.11 release notes for more details on these changes.
contrib.auth.views.login(), logout(), password_change(), password_change_done(), password_reset(), password_reset_done(), password_reset_confirm(), e password_reset_complete() serão removidos.extra_context parameter of contrib.auth.views.logout_then_login()
will be removed.django.test.runner.setup_databases() será removido.django.utils.translation.string_concat() será removido.django.core.cache.backends.memcached.PyLibMCCache will no longer support
passing pylibmc behavior settings as top-level attributes of OPTIONS.host parameter of django.utils.http.is_safe_url() will be
removed.{% include %} template
tag will be removed.DatabaseIntrospection.get_indexes() será removido.authenticate() method of authentication backends will require
request as the first positional argument.django.db.models.permalink() decorator will be removed.USE_ETAGS setting will be removed. CommonMiddleware and
django.utils.cache.patch_response_headers() will no longer set ETags.Model._meta.has_auto_field será removido.url()’s support for inline flags in regular expression groups ((?i),
(?L), (?m), (?s), and (?u)) will be removed.Widget.render() métodos sem o argumento renderer será removido.Veja as notas da release do Django 1.9 para mais detalhes sobre essas mudanças.
weak de django.dispatch.signals.Signal.disconnect() será removido.django.db.backends.base.BaseDatabaseOperations.check_aggregate_support() será removida.django.forms.extras será removido.assignment_tag será removido.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.Field.remote_field.to será removido.on_delete para ForeignKey e OneToOneField será requerido.django.db.models.fields.add_lazy_relation() será removido.cursor.execute().django.contrib.auth.tests.utils.skipIfCustomUser() será removido.GeoManager e GeoQuerySet serão removidas.django.contrib.gis.geoip será removido.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()load_template() e load_template_sources() serão removidos.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()django.template.loaders.base.Loader.__call__() será removido.mime_type de django.utils.feedgenerator.Atom1Feed e django.utils.feedgenerator.RssFeed será removido para promover content_type.app_name argument to django.conf.urls.include() will be
removed.include() será removido.Field._get_val_from_obj() será removido para promover Field.value_from_object().django.template.loaders.eggs.Loader será removido.current_app para views contrib.auth será removido.callable_obj para SimpleTestCase.assertRaisesMessage() será removido.allow_tags em métodos de ModelAdmin serão removidos.enclosure em SyndicationFeed.add_item() será removido.django.template.loader.LoaderOrigin e django.template.base.StringOrigin para django.template.base.Origin serão removidos.Veja a Django 1.10 release notes para mais detalhes sobre essas mudanças.
makemigrations --exit será removida.get_srid() e set_srid() em django.contrib.gis.geos.GEOSGeometry serão removidos.get_x(), set_x(), get_y(), set_y(), get_z(), e set_z() em django.contrib.gis.geos.Point serão removidos.get_coords() e set_coords() em django.contrib.gis.geos.Point serão removidos.cascaded_union em django.contrib.gis.geos.MultiPolygon serão removidos.django.utils.functional.allow_lazy() será removido.shell --plain será removido.django.core.urlresolvers será removido.CommaSeparatedIntegerField será removido. Um campo stub irá permanecer para compatibilidade com migrations passadas.Context.has_key() será removido.django.core.files.storage.Storage.accessed_time(), created_time(), e modified_time() serão removidos.Meta.default_related_name será removido.__search e o método DatabaseOperations.fulltext_search_sql() serão removidos._apply_rel_filters() será removido.User.is_authenticated() e User.is_anonymous() como métodos não será mais suportado.virtual_fields do Model._meta será removido.virtual_only no Field.contribute_to_class() e na virtual no Model._meta.add_field() será removido.javascript_catalog() e json_catalog() serão removidas.django.contrib.gis.utils.precision_wkt() será removida.OneToOneField para um parent_link será removida.Widget._format_value() será removido.get_directory_name() e get_filename() do FileField serão removidos.mark_for_escaping() e as classes que ela usa: EscapeData, EscapeBytes, EscapeText, EscapeString, e EscapeUnicode serão removidas.escape será alterado para que use o django.utils.html.conditional_escape().Manager.use_for_related_fields será removido.Manager seguirá regras de herança MRO e a Meta.manager_inheritance_from_future para escolher esse comportamento será removida.settings.MIDDLEWARE_CLASSES será removido.Veja as notas da release do Django 1.8 para mais detalhes sobre essas mudanças.
SQLCompiler diretamente como um alias para o seu método quote_name_unless_alias será removido.cycle and firstof serão removidas da biblioteca de tags de template future.django.conf.urls.patterns() será removido.prefix do django.conf.urls.i18n.i18n_patterns() será removido.SimpleTestCase.urls será removido.for irá lançar uma exceção ao invés de falhar silenciosamente.LOGIN_URL and LOGIN_REDIRECT_URL será removida.optparse será descartado para custom management commands (trocado pleo módulo argparse).django.core.management.NoArgsCommand será removida. Use em seu lugar a classe BaseCommand que não recebe argumentos por padrão.django.core.context_processors será removido.django.db.models.sql.aggregates será removido.django.contrib.gis.db.models.sql.aggregates será removido.django.db.sql.query.Query a seguir serão removidas:aggregates e aggregate_selectadd_aggregate, set_aggregate_mask, e append_aggregate_mask.django.template.resolve_variable será removido.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()error_message de django.forms.RegexField será removido.unordered_list não irá mais suportar listas do estilo antigo.view no formato string para url() será removido.django.forms.Form._has_changed() para has_changed() foi removido.removetags será removido.remove_tags() e strip_entities() em django.utils.html serão removidas.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; suas funcionalidades estão inclusas no django-localflavor 1.1+.original_content_type_id em django.contrib.admin.helpers.InlineAdminForm será removido.FormMixin.get_form() ser definido sem valor padrão para o seu argumento form_class foi removido.ALLOWED_INCLUDE_ROOTSTEMPLATE_CONTEXT_PROCESSORSTEMPLATE_DEBUGTEMPLATE_DIRSTEMPLATE_LOADERSTEMPLATE_STRING_IF_INVALIDdjango.template.loader.BaseLoader será removido.get_template() e select_template() não irão mais aceitar um Context em seu método render().dict e objetos de template dependentes de backend ao invés de Context e Template respectivamente.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()dictionary e context_instance para as funções abaixo serão removidosdjango.shortcuts.render()django.shortcuts.render_to_response()django.template.loader.render_to_string()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()'django.contrib.auth.middleware.SessionAuthenticationMiddleware' estar ou não dentro de MIDDLEWARE_CLASSES.django.db.models.Field.related será removido.--list do comando migrate será removido.ssi será removida.= na tag de template if será removido.Storage.get_available_name() e Storage.save() ser definido sem um argumento max_length será removido.%(<foo>)s no ModelFormMixin.success_url será removido.GeoQuerySet de agregação collect(), extent(), extent3d(), make_line(), e unionagg() serão removidos.ContentType.name ao criar uma instância será removido.allow_migrate será removido. Ele mudou de allow_migrate(self, db, model) para allow_migrate(self, db, app_label, model_name=None, **hints).{% cycle %} que utiliza argumentos separados por vírgulas será removido.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.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.--run-syncdb para o comando migrate.sql, sqlall, sqlclear, sqldropindexes, and sqlindexes, será removido.initial_data e dados SQL iniciais serão removidos.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.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.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.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.utildjango.contrib.gis.db.backends.utildjango.db.backends.utildjango.forms.utilModelAdmin.get_formsets será removido.BaseMemcachedCache._get_memcache_timeout() para get_backend_timeout() foi removido.-n para dumpdata serão removidas.use_natural_keys para serializers.serialize() será removido.django.forms.forms.get_declared_fields() será removida.SplitDateTimeWidget com DateTimeField será removido.WSGIRequest.REQUEST será removida.django.utils.datastructures.MergeDict será removida.zh-cn e zh-tw serão removidos e trocados pelos códigos de linguagem zh-hans e ``zh-hant``respectivamente.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.BaseCommand.requires_model_validation``será removido em favor de ``requires_system_checks. Admin validators serão trocados por admin checks.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.validate será removido.django.utils.module_loading.import_by_path será removido em favor de``django.utils.module_loading.import_string``.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.TEST_, não será mais suportado.cache_choices option to ModelChoiceField and
ModelMultipleChoiceField will be removed.RedirectView.permanent atributo irá mudar de True para False.django.contrib.sitemaps.FlatPageSitemap será removido em favor de django.contrib.flatpages.sitemaps.FlatPageSitemap.django.test.utils.TestTemplateLoader será removida.django.contrib.contenttypes.generic será removido.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.TransactionMiddleware,autocommit, commit_on_success, e commit_manually, definidos em django.db.transaction,commit_unless_managed e rollback_unless_managed, também definidos em django.db.transaction,TRANSACTIONS_MANAGED.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.SEND_BROKEN_LINK_EMAILS setting will be removed. Add the
django.middleware.common.BrokenLinkEmailsMiddleware middleware to
your MIDDLEWARE_CLASSES setting instead.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.get_query_set e métodos do queryset similares. Isso afeta as seguintes classes: BaseModelAdmin, ChangeList, BaseCommentNode, GenericForeignKey, Manager, SingleRelatedObjectDescriptor e ReverseSingleRelatedObjectDescriptor.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.django.db.backenddjango.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.django.test.simple e a classe django.test.simple.DjangoTestSuiteRunner será removida. Utilize no lugar dele django.test.runner.DiscoverRunner.django.test._doctest será removido. Ao invés disso use o módulo doctest module da biblioteca padrão do Python.CACHE_MIDDLEWARE_ANONYMOUS_ONLY será removido.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.Model._meta.get_(add|change|delete)_permission será removida.django_language não será mais lida para compatibilidade com versões anteriores.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.
django.utils.simplejson será removido. A biblioteca padrão provê json que deve ser usado em seu lugar.django.utils.itercompat.product será removida. A versão embutida no Python deve ser usada em seu lugar.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().HttpResponse é instanciado com um iterator, ou quando content é setado para um iterator, esse iterator será imediatamente consumido.AUTH_PROFILE_MODULE, e o método get_profile() do model User serão removidos.cleanup será removido. Ele foi trocado por clearsessions.daily_cleanup.py será removido.depth será removido de select_related().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.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.django.contrib.auth.views.password_reset_confirm() that
supports base36 encoded user IDs
(django.contrib.auth.views.password_reset_confirm_uidb36) will be
removed. If your site has been running Django 1.6 for more than
PASSWORD_RESET_TIMEOUT_DAYS, this change will have no effect. If not,
then any password reset links generated before you upgrade to Django 1.7
won’t work after the upgrade.django.utils.encoding.StrAndUnicode mix-in will be removed.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.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.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.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.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).IGNORABLE_404_STARTS e IGNORABLE_404_ENDS foram substituídos por IGNORABLE_404_URLS na release 1.4. Eles serão removidos.cache_page() será removida.'mail_admins' será removido. O setting LOGGING deve incluir esse filtro explicitamente se ele for desejado.django.utils.text.truncate_words() e django.utils.text.truncate_html_words() serão removidas em favor da classe django.utils.text.Truncator.django.contrib.gis.geoip.GeoIP foi movida para django.contrib.gis.geoip na 1.4 – o atalho em django.contrib.gis.utils será removido.django.conf.urls.defaults will be removed. The functions
include(), patterns(), and url(), plus
handler404 and handler500
are now available through django.conf.urls.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.is_safe e needs_autoescape como atributos de funções de filtro de template não será mais suportado.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.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.
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.)mod_python será removido. O handler mod_wsgi deve ser usado em seu lugar.template em objetos django.test.client.Response retornados por test client será removido. O atributo templates deve ser usado em seu lugar.django.test.simple.DjangoTestRunner will be removed.
Instead use a unittest-native class. The features of the
django.test.simple.DjangoTestRunner (including fail-fast and
Ctrl-C test termination) can be provided by unittest.TextTestRunner.django.contrib.formtools.utils.security_hash será removida. Ao invés dela use django.contrib.formtools.utils.form_hmac.django.core.servers.basehttp.AdminMediaHandler será removido. Em seu lugar use django.contrib.staticfiles.handlers.StaticFilesHandler.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.)url e ssi 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 future.reset e sqlreset serão removidos.supports_inactive_user não será mais verificado e pode ser removido de backends customizados.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.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.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.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.django.contrib.csrf.*), que foi movido para o core em 1.2, será removido.django.contrib.gis.db.backend será removido em favor dos backends específicos.SMTPConnection will be removed in favor of a generic email backend API.DATABASE_* para definir conexões de banco de dados será removida.sqlite3 ao invés de django.db.backends.sqlite3) será removido.get_db_prep_save, get_db_prep_value e get_db_prep_lookup terão que suportar múltiplos bancos de dados.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.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.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.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.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.django.test.simple.run_tests().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.postgresql será removido, utilize o backend postgresql_psycopg2 em seu lugar.no será removida e foi trocada pela linguagem de código nb.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.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.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. 06, 2024