djangodocs.org

728 sections in Django 5.2 Search all versions →

URLconf improvements

Release notes Django version 0.96 release notes What’s new in 0.96?

You can now use any callable as the callback in URLconfs (previously, only strings that referred to callables were allowed). This allows a much more natural use of URLconfs.

Aggregate support

Release notes Django 1.1 release notes What’s new in Django 1.1ORM improvements

COUNT(), MAX(), MIN(), etc.) from within Django’s ORM. You can choose to either return the results of the aggregate directly, or else annotate the objects in a QuerySet with the results of the aggregate query.

Deferred fields

Release notes Django 1.1 release notes What’s new in Django 1.1Model improvements

If you know you don’t need those particular fields, you can now tell Django not to retrieve them from the database. You’ll do this with the new queryset methods defer() and only().

Bugfixes

Release notes Django 1.10.1 release notes

Made QuerySet.bulk_create() properly initialize model instances on backends, such as PostgreSQL, that support returning the IDs of the created records so that many-to-many relationships can be used on the new objects (#27026). Fixed crash of django.views.static.serve() with show_indexes enabled (#26973).

Bugfixes

Release notes Django 1.10.3 release notes

Fixed QuerySet.bulk_create() on PostgreSQL when the number of objects is a multiple plus one of batch_size (#27385). Prevented i18n_patterns() from using too much of the URL as the language to fix a use case for prefix_default_language=False (#27063).

Bugfixes

Release notes Django 1.10.4 release notes

Fixed a QuerySet.update() crash on SQLite when updating a DateTimeField with an F() expression and a timedelta (#27544). Prevented LocaleMiddleware from redirecting on URLs that should return 404 when using prefix_default_language=False (#27402).

Bugfixes

Release notes Django 1.11.1 release notes

Fixed QuerySet.filter() crash when it references the name of a OneToOneField primary key (#28047). Fixed empty POST data table appearing instead of “No POST data” in HTML debug page (#28079). Restored BoundFields without any choices evaluating to True (#28058).

Bugfixes

Release notes Django 1.11.13 release notes

Fixed a regression in Django 1.11.12 where QuerySet.values() or values_list() after combining an annotated and unannotated queryset with union(), difference(), or intersection() crashed due to mismatching columns (#29286).

Bugfixes

Release notes Django 1.11.2 release notes

Relaxed the validation added in Django 1.11 of the fields in the defaults argument of QuerySet.get_or_create() and update_or_create() to reallow settable model properties (#28222). Fixed MultipleObjectMixin.paginate_queryset() crash on Python 2 if the InvalidPage message contains non-ASCII (#28204).

Bugfixes

Release notes Django 1.11.3 release notes

Fixed admin’s FieldListFilter.get_queryset() crash on invalid input (#28202). Fixed invalid HTML for a required AdminFileWidget (#28278). Fixed model initialization to set the name of class-based model indexes for models that only inherit models.Model (#28282).

Overview

Release notes Django 1.4 release notes

… number of ORM improvements, including SELECT FOR UPDATE support, the ability to bulk insert large datasets for improved performance, and QuerySet.prefetch_related, a method to batch-load related objects in areas where select_related() doesn’t work. Some nice security additions, including improved password …

MySQL typecasting

Release notes Django 1.4.11 release notes

The MySQL database is known to “typecast” on certain queries; for example, when querying a table which contains string values, but using a query which filters based on an integer value, MySQL will first silently coerce the strings to integers …

Minor features

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

QuerySet.bulk_create() now has a batch_size argument. By default the batch_size is unlimited except for SQLite where single batch is limited so that 999 parameters per query isn’t exceeded.

MySQL typecasting

Release notes Django 1.5.6 release notes

The MySQL database is known to “typecast” on certain queries; for example, when querying a table which contains string values, but using a query which filters based on an integer value, MySQL will first silently coerce the strings to integers …

Minor features

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

The assertQuerysetEqual() now checks for undefined order and raises ValueError if undefined order is spotted. The order is seen as undefined if the given QuerySet isn’t ordered and there is more than one ordered value to compare against.

Minor features

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

Added QuerySet methods first() and last() which are convenience methods returning the first or last object matching the filters. Returns None if there are no objects matching. View and RedirectView now support HTTP PATCH method.

Release notes Django 1.6 release notes Backwards incompatible changes in 1.6

For example, some queries will now generate different table aliases. This can affect QuerySet.extra(). In addition some queries will now produce different results. An example is exclude(condition) where the condition is a complex one (referencing multijoins inside Q objects).

MySQL typecasting

Release notes Django 1.6.3 release notes

The MySQL database is known to “typecast” on certain queries; for example, when querying a table which contains string values, but using a query which filters based on an integer value, MySQL will first silently coerce the strings to integers …