Django 3.2.1 release notes
Bugfixes
- Corrected detection of GDAL 3.2 on Windows ().
- Fixed a bug in Django 3.2 where subclasses of
BigAutoField
andSmallAutoField
were not allowed for theDEFAULT_AUTO_FIELD
setting (). - Fixed a regression in Django 3.2 that caused a crash of
QuerySet.values()/values_list()
afterQuerySet.union()
, , anddifference()
when it was ordered by an unannotated field (#32627). - Fixed a bug in Django 3.2 where a system check would crash on a reverse one-to-one relationships in
CheckConstraint.check
orUniqueConstraint.condition
(). - Fixed a regression in Django 3.2 that caused a crash of
ModelAdmin.search_fields
when searching against phrases with unbalanced quotes (). - Fixed a bug in Django 3.2 where variable lookup errors were logged rendering the sitemap template if alternates were not defined (#32648).
- Fixed a regression in Django 3.2 that caused a crash when combining
Q()
objects which contains boolean expressions (). - Fixed a regression in Django 3.2 that caused a crash of
QuerySet.update()
on a queryset ordered by inherited or joined fields on MySQL and MariaDB (#32645). - Fixed a regression in Django 3.2 that stopped the shift-key modifier selecting multiple rows in the admin changelist ().
- Fixed a bug in Django 3.2 where a system check would crash on the setting with a list of 2-tuples of
(prefix, path)
(). - Fixed a long standing bug involving queryset bitwise combination when used with subqueries that began manifesting in Django 3.2, due to a separate fix using
Exists
toexclude()
multi-valued relationships (#32650). - Fixed a bug in Django 3.2 where variable lookup errors were logged when rendering some admin templates ().
- Fixed a bug in Django 3.2 where an admin changelist would crash when deleting objects filtered against multi-valued relationships (#32682). The admin changelist now uses
Exists()
insteadQuerySet.distinct()
because callingdelete()
afterdistinct()
is not allowed in Django 3.2 to address a data loss possibility. - Fixed a performance regression in Django 3.2 when building complex filters with subqueries (). As a side-effect the private API to check
django.db.sql.query.Query
equality is removed.