djangodocs.org

680 sections in Django 5.0 Search all versions →

Bugfixes

Release notes Django 4.2.2 release notes

Fixed a regression in Django 4.2 that caused a crash of QuerySet.defer() when passing a ManyToManyField or GenericForeignKey reference. While doing so is a no-op, it was allowed in older version (#34570).

Bugfixes

Release notes Django 4.2.5 release notes

Fixed a regression in Django 4.2 that caused a crash of a queryset when filtering against deeply nested OuterRef() annotations (#34803).

Features removed in 5.0

Release notes Django 5.0 release notes

Support for pytz timezones is removed. The is_dst argument is 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() The django.contrib.gis.admin.GeoModelAdmin and OSMGeoAdmin classes are removed. The undocumented BaseForm._html_output() method is removed.

Bugfixes

Release notes Django 5.0.2 release notes

Fixed a regression in Django 5.0 that caused a crash of FilteredRelation() with querysets as right-hand sides (#35135). FilteredRelation() now raises a ValueError on querysets as right-hand sides.

Bugfixes

Release notes Django 5.0.3 release notes

Fixed a regression in Django 5.0 that caused a crash when reloading a test database and a base queryset for a base manager used prefetch_related() (#35238).

An improved ORM

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.

Database backend API

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.

Models

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

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

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

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 |

Minor features

Release notes Django 1.4 release notes What’s new in Django 1.4

The distinct() QuerySet method now accepts an optional list of model field names. If specified, then the DISTINCT statement is limited to these fields. This is only supported in PostgreSQL.

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

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

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