djangodocs.org

257 sections in Django dev Search all versions →

Bugfixes

Release notes Django 1.11.5 release notes

Fixed GEOS version parsing if the version has a commit hash at the end (new in GEOS 3.6.2) (#28441). Added compatibility for cx_Oracle 6 (#28498). Fixed select widget rendering when option values are tuples (#28502).

Release notes Django 1.6 release notes

The Model.save() method now tries to directly UPDATE the database if the instance has a primary key value. Previously SELECT was performed to determine if UPDATE or INSERT were needed.

Release notes Django 1.8 release notes

The following functions will no longer accept a dirs parameter to override TEMPLATE_DIRS in Django 1.10: django.template.loader.get_template() django.template.loader.select_template() django.shortcuts.render() django.shortcuts.render_to_response() The parameter didn’t work consistently across different template loaders and didn’t work for included templates.

Miscellaneous

Release notes Django 5.0 release notes

The instance argument of the undocumented BaseModelFormSet.save_existing() method is renamed to obj. The undocumented django.contrib.admin.helpers.checkbox is removed. Integer fields are now validated as 64-bit integers on SQLite to match the behavior of sqlite3.

Database backend API

Release notes Django 1.11 release notes

This section describes changes that may be needed in third-party database backends. The DatabaseOperations.time_trunc_sql() method is added to support TimeField truncation.

Release notes Django 1.4 release notes

Django’s comments has historically supported excluding the comments of a special user group, but we’ve never documented the feature properly and didn’t enforce the exclusion in other parts of the app such as the template tags.

Release notes Django 1.8 release notes

The django.db.models.sql.aggregates and django.contrib.gis.db.models.sql.aggregates modules (both private API), have been deprecated as django.db.models.aggregates and django.contrib.gis.db.models.aggregates are now also responsible for SQL generation. The old modules will be removed in Django 1.10.

Database backend API

Release notes Django 2.0 release notes

This section describes changes that may be needed in third-party database backends. The DatabaseOperations.datetime_cast_date_sql(), datetime_cast_time_sql(), datetime_trunc_sql(), datetime_extract_sql(), and date_interval_sql() methods now return only the SQL to perform the operation instead of SQL and a list of parameters.

Bugfixes

Release notes Django 2.0.1 release notes

Fixed a regression in Django 1.11 that added newlines between MultiWidget’s subwidgets (#28890). Fixed incorrect class-based model index name generation for models with quoted db_table (#28876). Fixed incorrect foreign key constraint name for models with quoted db_table (#28876).

Bugfixes

Release notes Django 2.2.8 release notes

Fixed a data loss possibility in the admin changelist view when a custom formset’s prefix contains regular expression special characters, e.g. '$' (#31031).

Release notes Django 3.1 release notes

Django now supports a fully asynchronous request path, including: Asynchronous views Asynchronous middleware Asynchronous tests and test client To get started with async views, you need to declare a view using async def: All asynchronous features are supported whether you …

Models

Release notes Django 4.0 release notes

New QuerySet.contains(obj) method returns whether the queryset contains the given object. This tries to perform the query in the simplest and fastest way possible.

Bugfixes

Release notes Django 4.2.6 release notes

Fixed a regression in Django 4.2.5 where overriding the deprecated DEFAULT_FILE_STORAGE and STATICFILES_STORAGE settings in tests caused the main STORAGES to mutate (#34821).

Bugfixes

Release notes Django 5.1.2 release notes

Fixed a regression in Django 5.1 that caused a crash when using the PostgreSQL lookup trigram_similar on output fields from Concat (#35732).

Miscellaneous

Release notes Django 1.10 release notes

The repr() of a QuerySet is wrapped in <QuerySet > to disambiguate it from a plain list when debugging. utils.version.get_version() returns PEP 440 compliant release candidate versions (e.g. ‘1.10rc1’ instead of ‘1.10c1’).