Lorsque Django exécute la suite de tests, il crée une nouvelle base de données, dans votre cas test_finance
. L'utilisateur postgres avec le nom d'utilisateur django
n'a pas la permission de créer une base de données, d'où le message d'erreur.
Lorsque vous exécutez migrate
ou syncdb
, Django n'essaie pas de créer le finance
base de données, afin que vous n'obteniez aucune erreur.
Vous pouvez ajouter l'autorisation createdb à l'utilisateur django en exécutant la commande suivante dans le shell postgres en tant que superutilisateur (astuce du chapeau à cette réponse de débordement de pile).
=> ALTER USER django CREATEDB;
Remarque : Le nom d'utilisateur utilisé dans ALTER USER <username> CREATEDB;
La commande doit correspondre à l'utilisateur de la base de données dans vos fichiers de paramètres Django. Dans ce cas, l'affiche originale avait pour utilisateur django
la réponse ci-dessus.