Kiedy Django uruchamia zestaw testów, tworzy nową bazę danych, w twoim przypadku test_finance
. Użytkownik postgres z nazwą użytkownika django
nie ma uprawnień do tworzenia bazy danych, stąd komunikat o błędzie.
Po uruchomieniu migrate
lub syncdb
, Django nie próbuje tworzyć finance
bazy danych, dzięki czemu nie pojawiają się żadne błędy.
Możesz dodać uprawnienia createdb do użytkownika django, uruchamiając następujące polecenie w powłoce postgres jako superużytkownik (wskazówka w odpowiedzi na tę odpowiedź dotyczącą przepełnienia stosu).
=> ALTER USER django CREATEDB;
Uwaga: Nazwa użytkownika użyta w ALTER USER <username> CREATEDB;
polecenie musi odpowiadać użytkownikowi bazy danych w plikach ustawień Django. W tym przypadku oryginalny plakat miał użytkownika jako django
powyższa odpowiedź.