Release notes Django 5.2.9 release notes
Fixed a regression in Django 5.2.2 that caused a crash when using aggregate functions with an empty Q filter over a queryset with annotations (#36751).
1413 sections across all versions Narrow to Django 6.0 (current) →
Release notes Django 5.2.9 release notes
Fixed a regression in Django 5.2.2 that caused a crash when using aggregate functions with an empty Q filter over a queryset with annotations (#36751).
Release notes Django 6.0 release notes What’s new in Django 6.0Minor features
QuerySet.raw() now supports models with a CompositePrimaryKey. Subqueries returning a CompositePrimaryKey can now be used as the target of lookups other than __in, such as __exact. JSONField now supports negative array indexing on SQLite.
Release notes Django 6.0 release notes
Support for cx_Oracle is removed. The ChoicesMeta alias to django.db.models.enums.ChoicesType is removed. The Prefetch.get_current_queryset() method is removed. The get_prefetch_queryset() method of related managers and descriptors is removed. get_prefetcher() and prefetch_related_objects() no longer fall back to get_prefetch_queryset().
Release notes Django 1.0 release notes
Django’s object-relational mapper – the component which provides the mapping between Django model classes and your database, and which mediates your database queries – has been dramatically improved by a massive refactoring.
Release notes Django 1.0.1 release notes
Multiple fixes for Django’s support of Oracle databases, including pagination support for GIS QuerySets, more efficient slicing of results and improved introspection of existing databases.
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
Under certain circumstances, repeated iteration over querysets could leak memory - sometimes quite a bit of it. If you’d like more information, the details are in our ticket tracker (and in a related issue in Python itself).
Release notes Django 1.6 release notes
For the same reason, accessing date_list in the context of a date-based generic view requires time zone definitions in the database when the view is based on a DateTimeField and USE_TZ is True. Learn more.
Release notes Django 1.6 release notes
Django 1.6 introduces hour, minute, and second lookups on DateTimeField. If you had model fields called hour, minute, or second, the new lookups will clash with you field names. Append an explicit exact lookup if this is an issue.
Release notes Django 1.8 release notes
There is now a model Meta option to define a default related name for all relational fields of a model. Pickling models and querysets across different versions of Django isn’t officially supported (it may work, but there’s no guarantee).
Release notes Django 4.2 release notes
MySQL 8+ allows functional dependencies on GROUP BY columns, so the pre-Django 4.2 workaround of grouping by primary keys of the main table is removed.
Release notes Django 5.0.1 release notes
Fixed a regression in Django 5.0 where querysets referenced incorrect field names from FilteredRelation() (#35050). Fixed a regression in Django 5.0 that caused a system check crash when ModelAdmin.filter_horizontal or filter_vertical contained a reverse many-to-many relation with related_name (#35056).
Release notes Django 5.0.5 release notes
Fixed a bug in Django 5.0 that caused a migration crash when altering a GeneratedField referencing a renamed field (#35422). Fixed a bug in Django 5.0 where the querysets argument of GenericPrefetch was not required (#35426).
Release notes Django 1.0 release notes What’s new in Django 1.0
Django’s object-relational mapper – the component which provides the mapping between Django model classes and your database, and which mediates your database queries – has been dramatically improved by a massive refactoring.
Release notes Django 1.0.1 release notes
Multiple fixes for Django’s support of Oracle databases, including pagination support for GIS QuerySets, more efficient slicing of results and improved introspection of existing databases.
Release notes Django 1.11 release notes Backwards incompatible changes in 1.11
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
Under certain circumstances, repeated iteration over querysets could leak memory - sometimes quite a bit of it. If you’d like more information, the details are in our ticket tracker (and in a related issue in Python itself).
Release notes Django 1.6 release notes Backwards incompatible changes in 1.6
Django 1.6 introduces hour, minute, and second lookups on DateTimeField. If you had model fields called hour, minute, or second, the new lookups will clash with you field names. Append an explicit exact lookup if this is an issue.
Release notes Django 1.8 release notes What’s new in Django 1.8Minor features
There is now a model Meta option to define a default related name for all relational fields of a model. Pickling models and querysets across different versions of Django isn’t officially supported (it may work, but there’s no guarantee).
Release notes Django 4.2 release notes Backwards incompatible changes in 4.2
MySQL 8+ allows functional dependencies on GROUP BY columns, so the pre-Django 4.2 workaround of grouping by primary keys of the main table is removed.