Wenn Django die Testsuite ausführt, erstellt es eine neue Datenbank, in Ihrem Fall test_finance . Der Postgres-Benutzer mit dem Benutzernamen django hat keine Berechtigung zum Erstellen einer Datenbank, daher die Fehlermeldung.
Wenn Sie migrate ausführen oder syncdb , versucht Django nicht, den finance zu erstellen Datenbank, damit Sie keine Fehler erhalten.
Sie können dem Django-Benutzer die Berechtigung „createdb“ hinzufügen, indem Sie den folgenden Befehl in der Postgres-Shell als Superuser ausführen (Huttipp zu dieser Stapelüberlauf-Antwort).
=> ALTER USER django CREATEDB;
Hinweis: Der in ALTER USER <username> CREATEDB; verwendete Benutzername Der Befehl muss mit dem Datenbankbenutzer in Ihren Django-Einstellungsdateien übereinstimmen. In diesem Fall hatte das ursprüngliche Poster den Benutzer als django die obige Antwort.