31 de agosto de 2018
Django 2.1.1 corrige varios errores en 2.1.
Se corrigió una condición de carrera en QuerySet.update_or_create() que podría dar lugar a la pérdida de datos (#29499).
Se ha corregido una regresión donde QueryDict.urlencode() se cae si el diccionario contiene un valor no string (#29627).
Se ha corregido una regresión en Django 2.0 donde usar manage.py test –keepdb falla en PostgreSQL si la base de datos existe y el usuario no tiene permiso para crear bases de datos (#29613).
Se ha corregido una regresión en Django 2.0 donde combinar objetos Q con consultas __in y listas se cae (#29643).
Se ha corregido el fallo de traducción del mensaje de error «sobrecarga» de DurationField (#29623).
Se ha corregido una regresión donde la forma de cambio del administrador se caía si el usuario no tenía permiso para agregar a un modelo que utiliza TabularInline (#29637).
Se ha corregido una regresión donde un acceso inverso related_query_name no se configuraba cuando se declara una relación genérica GenericRelation en un modelo de base abstracta (#29653).
Corregido la serialización de JSON del cliente de pruebas para diccionarios de datos de solicitud con sufijos de tipo de contenido estructurado (#29662).
Hizo que la vista de cambio del administrador redirija a la vista de lista de cambios después de un POST si el usuario tiene la permiso “ver”.
Se ha corregido la caída de error en la vista de cambio administrativo para usuarios con solo lectura si el formulario tiene un campo adicional del formulario (#29682).
Se corrigió una regresión en Django 2.0.5 donde QuerySet.values() o values_list() después de combinar consultas con extra() con union(), difference(), o intersection(), se caía debido a columnas no coincidentes (#29694).
Fixed crash si InlineModelAdmin.has_add_permission() no acepta el argumento obj (#29723).
may 31, 2026