Wanneer Django de testsuite uitvoert, wordt er een nieuwe database gemaakt, in uw geval test_finance . De postgres-gebruiker met gebruikersnaam django heeft geen toestemming om een database aan te maken, vandaar de foutmelding.
Wanneer u migrate . uitvoert of syncdb , Django probeert niet om de finance . te maken database, zodat u geen fouten krijgt.
U kunt de machtiging createdb aan de django-gebruiker toevoegen door de volgende opdracht in de postgres-shell uit te voeren als een supergebruiker (hat tip voor dit stack-overflow-antwoord).
=> ALTER USER django CREATEDB;
Opmerking: De gebruikersnaam die wordt gebruikt in de ALTER USER <username> CREATEDB; opdracht moet overeenkomen met de databasegebruiker in uw Django-instellingenbestanden. In dit geval had de originele poster de gebruiker als django het bovenstaande antwoord.