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.