Cuando Django ejecuta el conjunto de pruebas, crea una nueva base de datos, en su caso test_finance
. El usuario de postgres con nombre de usuario django
no tiene permiso para crear una base de datos, de ahí el mensaje de error.
Cuando ejecutas migrate
o syncdb
, Django no intenta crear el finance
base de datos, para que no obtenga ningún error.
Puede agregar el permiso createdb al usuario django ejecutando el siguiente comando en el shell de postgres como superusuario (consejo para esta respuesta de desbordamiento de pila).
=> ALTER USER django CREATEDB;
ALTER USER <username> CREATEDB;
El comando debe coincidir con el usuario de la base de datos en los archivos de configuración de Django. En este caso, el cartel original tenía al usuario como django
la respuesta anterior.