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.