djangodocs.org

769 sections in Django dev Search all versions →

Database backends

Release notes Django 1.10 release notes

Temporal data subtraction was unified on all backends. If the database supports it, backends can set DatabaseFeatures.can_return_ids_from_bulk_insert=True and implement DatabaseOperations.fetch_returned_insert_ids() to set primary keys on objects created using QuerySet.bulk_create().

Models

Release notes Django 1.10 release notes

The reverse relation attached by a ForeignKey pointing to a proxy model is now accessible as a descriptor on the proxied model class and may be referenced in queryset filtering.

Subquery expressions

Release notes Django 1.11 release notes

The new Subquery and Exists database expressions allow creating explicit subqueries. Subqueries may refer to fields from the outer queryset using the OuterRef class.

Bugfixes

Release notes Django 1.11.4 release notes

Fixed QuerySet.union() and difference() when combining with a queryset raising EmptyResultSet (#28378). Fixed a regression in pickling of LazyObject on Python 2 when the wrapped object doesn’t have __reduce__() (#28389).

Bugfixes

Release notes Django 1.11.7 release notes

Prevented cache.get_or_set() from caching None if the default argument is a callable that returns None (#28601). Fixed the Basque DATE_FORMAT string (#28710). Made QuerySet.reverse() affect nulls_first and nulls_last (#28722). Fixed unquoted table names in Subquery SQL when using OuterRef (#28689).

Bugfixes

Release notes Django 1.11.8 release notes

Added support for QuerySet.values() and values_list() for union(), difference(), and intersection() queries (#28781). Fixed incorrect index name truncation when using a namespaced db_table (#28792). Made QuerySet.iterator() use server-side cursors on PostgreSQL after values() and values_list() (#28817).

Release notes Django 1.2 release notes

Queries can be issued at a specific database with the using() method on QuerySet objects. Individual objects can be saved to a specific database by providing a using argument when you call save().

Bugfixes

Release notes Django 1.5.5 release notes

Fixed a Python 3 incompatibility in django.utils.text.unescape_entities() (#21185). Fixed a couple data corruption issues with QuerySet edge cases under Oracle and MySQL (#21203, #21126). Fixed crashes when using combinations of annotate(), select_related(), and only() (#16436).

Miscellaneous

Release notes Django 1.6 release notes

The django.db.models.query.EmptyQuerySet can’t be instantiated any more - it is only usable as a marker class for checking if none() has been called: isinstance(qs.none(), EmptyQuerySet) If your CSS/JavaScript code used to access HTML input widgets by type, you should review …

Bug fixes

Release notes Django 1.6.1 release notes

Fixed Queryset.datetimes raising AttributeError in some situations (#21432). Fixed ModelBackend raising UnboundLocalError if get_user_model() raised an error (#21439). Fixed a regression that prevented editable GenericRelation subclasses from working in ModelForms (#21428).

Release notes Django 1.6.3 release notes

Fixed crash of QuerySets that use F() + timedelta() when their query was compiled more once (#21643). Prevented custom widget class attribute of IntegerField subclasses from being overwritten by the code in their __init__ method (#22245).

Bugfixes

Release notes Django 1.6.7 release notes

Allowed inherited and m2m fields to be referenced in the admin (#23329). Fixed a crash when using QuerySet.defer() with select_related() (#23370).

Generic Views

Release notes Django 1.8 release notes

Generic views that use MultipleObjectMixin may now specify the ordering applied to the queryset by setting ordering or overriding get_ordering().

Bugfixes

Release notes Django 1.8.3 release notes

Fixed QuerySet.exists() returning incorrect results after annotation with Count() (#24835). Corrected HStoreField.has_changed() (#24844). Reverted an optimization to the CSRF template context processor which caused a regression (#24836).

Bugfixes

Release notes Django 1.8.4 release notes

Fixed QuerySet.raw() so InvalidQuery is not raised when using the db_column name of a ForeignKey field with primary_key=True (#12768). Prevented an exception in TestCase.setUpTestData() from leaking the transaction (#25176). Fixed has_changed() method in contrib.postgres.forms.HStoreField (#25215, #25233).

Release notes Django 1.9 release notes

To improve performance, the add() methods of the related managers created by ForeignKey and GenericForeignKey changed from a series of Model.save() calls to a single QuerySet.update() call. The change means that pre_save and post_save signals aren’t sent anymore.

django.contrib.admin

Release notes Django 2.1 release notes

ModelAdmin.search_fields now accepts any lookup such as field__exact. jQuery is upgraded from version 2.2.3 to 3.3.1. The new ModelAdmin.delete_queryset() method allows customizing the deletion process of the “delete selected objects” action. You can now override the default admin site.

Bugfixes

Release notes Django 2.2.6 release notes

Fixed migrations crash on SQLite when altering a model containing partial indexes (#30754). Fixed a regression in Django 2.2.4 that caused a crash when filtering with a Subquery() annotation of a queryset containing django.contrib.postgres.fields.JSONField or HStoreField (#30769).