Django 2.1.1 release notes — Django documentation

From Get docs
Django/docs/3.2.x/releases/2.1.1

Django 2.1.1 release notes

August 31, 2018

Django 2.1.1 fixes several bugs in 2.1.

Bugfixes

  • Fixed a race condition in QuerySet.update_or_create() that could result in data loss (:ticket:`29499`).
  • Fixed a regression where QueryDict.urlencode() crashed if the dictionary contains a non-string value (:ticket:`29627`).
  • Fixed a regression in Django 2.0 where using manage.py test --keepdb fails on PostgreSQL if the database exists and the user doesn’t have permission to create databases (:ticket:`29613`).
  • Fixed a regression in Django 2.0 where combining Q objects with __in lookups and lists crashed (:ticket:`29643`).
  • Fixed translation failure of DurationField’s “overflow” error message (:ticket:`29623`).
  • Fixed a regression where the admin change form crashed if the user doesn’t have the ‘add’ permission to a model that uses TabularInline (:ticket:`29637`).
  • Fixed a regression where a related_query_name reverse accessor wasn’t set up when a GenericRelation is declared on an abstract base model (:ticket:`29653`).
  • Fixed the test client’s JSON serialization of a request data dictionary for structured content type suffixes (:ticket:`29662`).
  • Made the admin change view redirect to the changelist view after a POST if the user has the ‘view’ permission (:ticket:`29663`).
  • Fixed admin change view crash for view-only users if the form has an extra form field (:ticket:`29682`).
  • Fixed a regression in Django 2.0.5 where QuerySet.values() or values_list() after combining querysets with extra() with union(), difference(), or intersection() crashed due to mismatching columns (:ticket:`29694`).
  • Fixed crash if InlineModelAdmin.has_add_permission() doesn’t accept the obj argument (:ticket:`29723`).