Når Django kører testpakken, opretter den en ny database, i dit tilfælde test_finance . Postgres-brugeren med brugernavnet django har ikke tilladelse til at oprette en database, derfor fejlmeddelelsen.
Når du kører migrate eller syncdb , Django forsøger ikke at oprette finance database, så du ikke får nogen fejl.
Du kan tilføje tilladelsen createb til django-brugeren ved at køre følgende kommando i postgres-skallen som en superbruger (hattespids til dette stack overflow-svar).
=> ALTER USER django CREATEDB;
Bemærk: Brugernavnet brugt i ALTER USER <username> CREATEDB; kommandoen skal matche databasebrugeren i dine Django-indstillingsfiler. I dette tilfælde havde den originale plakat brugeren som django ovenstående svar.