djangodocs.org

1413 sections across all versions Narrow to Django 6.0 (current) →

Bugfixes

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).

5.0 5.1 5.2 6.0

Bugfixes

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).

5.0 5.1 5.2 6.0

Bugfixes

Release notes Django 6.1.3 release notes

Fixed a bug in Django 6.1 where accessing a deferred field with the FETCH_PEERS fetch mode overwrote values that peer instances had already modified locally or loaded via refresh_from_db() with an explicit fields argument.

dev

Release notes Porting your apps from Django 0.96 to 1.0

… | backend.allows_unique_and_pk | connection.features.allows_unique_and_pk | | backend.autoindexes_primary_keys | connection.features.autoindexes_primary_keys | | backend.needs_datetime_string_cast | connection.features.needs_datetime_string_cast | | backend.needs_upper_for_iops | connection.features.needs_upper_for_iops | | backend.supports_constraints | connection.features.supports_constraints | | backend.supports_tablespaces | connection.features.supports_tablespaces | | backend.uses_case_insensitive_names | connection.features.uses_case_insensitive_names | | backend.uses_custom_queryset | connection.features.uses_custom_queryset |

dev

Bugfixes

Release notes Django 1.7.2 release notes

Fixed a regression where custom form fields having a queryset attribute but no limit_choices_to could not be used in a ModelForm (#23795). Fixed a custom field type validation error with MySQL backend when db_type returned None (#23761).

dev

Bugfixes

Release notes Django 1.8.8 release notes

Made loaddata skip disabling and enabling database constraints when it doesn’t load any fixtures (#23372). Fixed a crash in QuerySet.values()/values_list() after an annotate() and order_by() when values()/values_list() includes a field not in the order_by() (#25316).

dev

Bugfixes

Release notes Django 1.9.2 release notes

Fixed a crash when destroying an existing test database on MySQL or PostgreSQL (#26096). Fixed CSRF cookie check on POST requests when USE_X_FORWARDED_PORT=True (#26094). Fixed a QuerySet.order_by() crash when ordering by a relational field of a ManyToManyField through model (#26092).

dev

Models

Release notes Django 2.1 release notes

QuerySet.order_by() and distinct(*fields) now support using field transforms. BooleanField can now be null=True. This is encouraged instead of NullBooleanField, which will likely be deprecated in the future. The new QuerySet.explain() method displays the database’s execution plan of a queryset’s query.

dev

Miscellaneous

Release notes Django 2.1 release notes

QuerySet.raw() now caches its results like regular querysets. Use iterator() if you don’t want caching. The database router allow_relation() method is called in more cases. Improperly written routers may need to be updated accordingly.

dev

Tests

Release notes Django 3.2 release notes

TransactionTestCase.assertQuerysetEqual() now supports direct comparison against another queryset rather than being restricted to comparison against a list of string representations of objects when using the default value for the transform argument.

dev

Miscellaneous

Release notes Django 4.1 release notes

Use errors=[] instead. django.contrib.sessions.serializers.PickleSerializer is deprecated due to the risk of remote code execution. The usage of QuerySet.iterator() on a queryset that prefetches related objects without providing the chunk_size argument is deprecated. In older versions, no prefetching was done.

dev

Miscellaneous

Release notes Django 5.0 release notes

Filtering querysets against overflowing integer values now always returns an empty queryset. As a consequence, you may need to use ExpressionWrapper() to explicitly wrap arithmetic against integer fields in such cases.

dev

Miscellaneous

Release notes Django 5.1 release notes

To improve performance, the delete_selected admin action now uses QuerySet.bulk_create() when creating multiple LogEntry objects. As a result, pre_save and post_save signals for LogEntry are not sent when multiple objects are deleted via this admin action.

dev

Release notes Porting your apps from Django 0.96 to 1.0 Less-common changesDatabase backend functions

… | backend.allows_unique_and_pk | connection.features.allows_unique_and_pk | | backend.autoindexes_primary_keys | connection.features.autoindexes_primary_keys | | backend.needs_datetime_string_cast | connection.features.needs_datetime_string_cast | | backend.needs_upper_for_iops | connection.features.needs_upper_for_iops | | backend.supports_constraints | connection.features.supports_constraints | | backend.supports_tablespaces | connection.features.supports_tablespaces | | backend.uses_case_insensitive_names | connection.features.uses_case_insensitive_names | | backend.uses_custom_queryset | connection.features.uses_custom_queryset |

4.2 5.0 5.1 5.2 6.0

Bugfixes

Release notes Django 1.7.2 release notes

Fixed a regression where custom form fields having a queryset attribute but no limit_choices_to could not be used in a ModelForm (#23795). Fixed a custom field type validation error with MySQL backend when db_type returned None (#23761).

4.2 5.0 5.1 5.2 6.0

Bugfixes

Release notes Django 1.8.8 release notes

Made loaddata skip disabling and enabling database constraints when it doesn’t load any fixtures (#23372). Fixed a crash in QuerySet.values()/values_list() after an annotate() and order_by() when values()/values_list() includes a field not in the order_by() (#25316).

4.2 5.0 5.1 5.2 6.0

Bugfixes

Release notes Django 1.9.2 release notes

Fixed a crash when destroying an existing test database on MySQL or PostgreSQL (#26096). Fixed CSRF cookie check on POST requests when USE_X_FORWARDED_PORT=True (#26094). Fixed a QuerySet.order_by() crash when ordering by a relational field of a ManyToManyField through model (#26092).

4.2 5.0 5.1 5.2 6.0

Models

Release notes Django 2.1 release notes What’s new in Django 2.1Minor features

QuerySet.order_by() and distinct(*fields) now support using field transforms. BooleanField can now be null=True. This is encouraged instead of NullBooleanField, which will likely be deprecated in the future. The new QuerySet.explain() method displays the database’s execution plan of a queryset’s query.

4.2 5.0 5.1 5.2 6.0