==========================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 resultin data loss (:ticket:`29499`).* Fixed a regression where ``QueryDict.urlencode()`` crashed if the dictionarycontains 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 havepermission 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'thave the 'add' permission to a model that uses ``TabularInline``(:ticket:`29637`).* Fixed a regression where a ``related_query_name`` reverse accessor wasn't setup when a ``GenericRelation`` is declared on an abstract base model(:ticket:`29653`).* Fixed the test client's JSON serialization of a request data dictionary forstructured content type suffixes (:ticket:`29662`).* Made the admin change view redirect to the changelist view after a POST ifthe user has the 'view' permission (:ticket:`29663`).* Fixed admin change view crash for view-only users if the form has an extraform 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 tomismatching columns (:ticket:`29694`).* Fixed crash if ``InlineModelAdmin.has_add_permission()`` doesn't accept the``obj`` argument (:ticket:`29723`).