Когато Django стартира тестовия пакет, той създава нова база данни, във вашия случай test_finance
. Потребителят на postgres с потребителско име django
няма разрешение за създаване на база данни, оттук и съобщението за грешка.
Когато стартирате migrate
или syncdb
, Django не се опитва да създаде finance
база данни, така че да не получавате никакви грешки.
Можете да добавите разрешението createdb към потребителя на django, като изпълните следната команда в обвивката на postgres като суперпотребител (съвет за този отговор за препълване на стека).
=> ALTER USER django CREATEDB;
Забележка: Потребителското име, използвано в ALTER USER <username> CREATEDB;
командата трябва да съответства на потребителя на базата данни във вашите файлове с настройки на Django. В този случай оригиналният постер е имал потребителя като django
горния отговор.