sql >> Base de Datos >  >> RDS >> PostgreSQL

Django get_or_create no puede establecer el campo cuando se usa con iexact

Lo que estás viendo es el comportamiento correcto.

get_or_create es la abreviatura de 'obtener y devolver el objeto que coincide con kwargs , si no existe, créelo usando defaults '. Su búsqueda está buscando un objeto donde name es una coincidencia que no distingue entre mayúsculas y minúsculas con 'cedar' . Ese objeto existe, por lo que se devuelve. Nada más, nada menos.

Ahora bien, si no hubiera ninguna coincidencia, Stéphane tiene razón y tendrías que especificar name en los defaults parámetro. Todas las búsquedas que contienen el separador de búsqueda __ se eliminan de los parámetros pasados ​​a create() .