Release notes Django 2.0 release notes What’s new in Django 2.0
The new Window expression allows adding an OVER clause to querysets. You can use window functions and aggregate functions in the expression.
674 sections in Django 4.2 Search all versions →
Release notes Django 2.0 release notes What’s new in Django 2.0
The new Window expression allows adding an OVER clause to querysets. You can use window functions and aggregate functions in the expression.
Release notes Django 1.10 release notes What’s new in Django 1.10Minor features
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().
Release notes Django 1.10 release notes What’s new in Django 1.10Minor features
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.
Release notes Django 1.10 release notes Features deprecated in 1.10
This method must accept a QuerySet instance as its single argument and return a filtered version of the queryset for the model instance the manager is bound to.
Release notes Django 1.11 release notes What’s new in Django 1.11
The new Subquery and Exists database expressions allow creating explicit subqueries. Subqueries may refer to fields from the outer queryset using the OuterRef class.
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).
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).
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 What’s new in Django 1.2
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().
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).
Release notes Django 1.6 release notes Backwards incompatible changes in 1.6Addition of QuerySet.datetimes()
The date_hierarchy feature of the admin now relies on QuerySet.datetimes() when it’s used on a DateTimeField. This requires time zone definitions in the database when USE_TZ is True. Learn more.
Release notes Django 1.6 release notes Backwards incompatible changes in 1.6Addition of QuerySet.datetimes()
For the same reason, accessing date_list in the context of a date-based generic view requires time zone definitions in the database when the view is based on a DateTimeField and USE_TZ is True. Learn more.
Release notes Django 1.6 release notes Backwards incompatible changes in 1.6
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 …
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).
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).
Release notes Django 1.8 release notes What’s new in Django 1.8Minor features
Generic views that use MultipleObjectMixin may now specify the ordering applied to the queryset by setting ordering or overriding get_ordering().
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).
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 Backwards incompatible changes in 1.9
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.