Release notes Django 3.0.10 release notes
Fixed a data loss possibility in the select_for_update(). When using related fields pointing to a proxy model in the of argument, the corresponding model was not locked (#31866).
256 sections in Django dev Search all versions →
Release notes Django 3.0.10 release notes
Fixed a data loss possibility in the select_for_update(). When using related fields pointing to a proxy model in the of argument, the corresponding model was not locked (#31866).
Release notes Django 1.9 release notes Backwards incompatible changes in 1.9
In earlier versions, queries such as: would implicitly convert to: resulting in SQL like "related_id IN (SELECT id FROM ...)".
Release notes Django 1.10 release notes
django.shortcuts.render() django.template.Context() django.template.RequestContext() django.template.response.TemplateResponse() The dictionary and context_instance parameters for the following functions are removed: django.shortcuts.render() django.shortcuts.render_to_response() django.template.loader.render_to_string() The dirs parameter for the following functions is removed: django.template.loader.get_template() django.template.loader.select_template() django.shortcuts.render() django.shortcuts.render_to_response() Session verification is enabled regardless of whether or not …
Release notes Django 3.0.4 release notes
Fixed a data loss possibility when using caching from async code (#31253). Fixed a regression in Django 3.0 that caused a file response using a temporary file to be closed incorrectly (#31240). Fixed a data loss possibility in the select_for_update().
Release notes Django 1.8 release notes Backwards incompatible changes in 1.8
A new GeoJSON serializer is now available. It is now allowed to include a subquery as a geographic lookup argument, for example City.objects.filter(point__within=Country.objects.filter(continent='Africa').values('mpoly')). The SpatiaLite backend now supports Collect and Extent aggregates when the database version is 3.0 or later.
Release notes Django 1.9.2 release notes
Fixed a regression in ConditionalGetMiddleware causing If-None-Match checks to always return HTTP 200 (#26024). Fixed a regression that caused the “user-tools” items to display on the admin’s logout page (#26035).
Release notes Django 3.1.1 release notes
Fixed wrapping of translated action labels in the admin’s navigation sidebar for East Asian languages (#31853). Fixed wrapping of long model names in the admin’s navigation sidebar (#31854).
Release notes Django 6.1 release notes What’s new in Django 6.1
The new MAILERS setting supports configuring multiple email backends with different options, similar to existing mechanisms for CACHES, DATABASES, STORAGES, and TASKS: You can select a mailer with the new using argument to email sending functions, or obtain an email …
Release notes Django 1.10 release notes
These features have reached the end of their deprecation cycle and are removed in Django 1.10. See Features deprecated in 1.8 for details, including how to remove usage of these features.
Release notes Django 5.2.1 release notes
Fixed a regression in Django 5.2 that caused a crash when annotating aggregate expressions over query that uses explicit grouping by transforms followed by field references (#36292).
Release notes Django 1.11.1 release notes
Made migrations respect Index’s name argument. If you created a named index with Django 1.11, makemigrations will create a migration to recreate the index with the correct name (#28051).
Release notes Django 1.7 release notes What’s new in Django 1.7Minor features
The Context.push() method now returns a context manager which automatically calls pop() upon exiting the with statement. Additionally, push() now accepts parameters that are passed to the dict constructor used to build the new context level.
Release notes Django 1.8.1 release notes
Added support for serializing timedelta objects in migrations (#24566). Restored proper parsing of the testserver command’s positional arguments (fixture names) (#24571). Prevented TypeError in translation functions check_for_language() and get_language_bidi() when translations are deactivated (#24569).
Reference GIS QuerySet API Reference Spatial Lookupsrelate
On these spatial backends the intersection pattern is a string comprising nine characters, which define intersections between the interior, boundary, and exterior of the geometry field and the lookup geometry.
Reference GIS QuerySet API Reference Spatial Lookupsrelate
Here the relation pattern is comprised of at least one of the nine relation strings: TOUCH, OVERLAPBDYDISJOINT, OVERLAPBDYINTERSECT, EQUAL, INSIDE, COVEREDBY, CONTAINS, COVERS, ON, and ANYINTERACT. Multiple strings may be combined with the logical Boolean operator OR, for example, 'inside+touch'.
Release notes Django 1.8 release notes What’s new in Django 1.8Minor features
Django now logs at most 9000 queries in connections.queries, in order to prevent excessive memory usage in long-running processes in debug mode.
Reference Widgets Built-in widgetsSelector and checkbox widgets
classSelect[source] : - template_name: 'django/forms/widgets/select.html' - option_template_name: 'django/forms/widgets/select_option.html' - Renders as: <select><option ...>...</select>
Reference Model Meta options Available Meta options
Options.select_on_save : Determines if Django will use the pre-1.6 django.db.models.Model.save() algorithm. The old algorithm uses SELECT to determine if there is an existing row to be updated. The new algorithm tries an UPDATE directly.
Reference QuerySet API reference QuerySet APIMethods that return new QuerySets
Evaluating a queryset with select_for_update() in autocommit mode on backends which support SELECT ... FOR UPDATE is a TransactionManagementError error because the rows are not locked in that case.
Reference Databases SQLite notes
SQLite does not support the SELECT ... FOR UPDATE syntax. Calling it will have no effect.