djangodocs.org

769 sections in Django dev Search all versions →

Models

Release notes Django 1.9 release notes

QuerySet.bulk_create() now works on proxy models. Database configuration gained a TIME_ZONE option for interacting with databases that store datetimes in local time and don’t support time zones when USE_TZ is True.

Models

Release notes Django 4.2 release notes

QuerySet now extensively supports filtering against UUID functions with the exception of disjunctive filter lookups against window functions when performing aggregation. prefetch_related() now supports Prefetch objects with sliced querysets. Registering lookups on Field instances is now supported.

Models

Release notes Django 5.1 release notes

QuerySet.explain() now supports the generic_plan option on PostgreSQL 16+. RowRange now accepts positive integers for the start argument and negative integers for the end argument.

Models

Release notes Django 6.1 release notes

QuerySet.in_bulk() now supports chaining after QuerySet.values() and QuerySet.values_list(). The new JSONNull expression provides an explicit way to represent the JSON scalar null.

Minor features

Release notes Django 1.4 release notes

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. For more details, see the documentation for distinct().

Models

Release notes Django 1.7 release notes

The QuerySet.update_or_create() method was added. The new default_permissions model Meta option allows you to customize (or disable) creation of the default add, change, and delete permissions. Explicit OneToOneField for Multi-table inheritance are now discovered in abstract classes.

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.

Release notes Django 4.1 release notes

QuerySet now provides an asynchronous interface for all data access operations. These are named as-per the existing synchronous operations but with an a prefix, for example acreate(), aget(), and so on.

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

Bugfixes

Release notes Django 1.5.4 release notes

Fixed a bug that prevented a QuerySet that uses prefetch_related() from being pickled and unpickled more than once (the second pickling attempt raised an exception) (#21102).