Django运行测试套件时,在您的情况下,它将创建一个新数据库test_finance
。具有用户名的postgres用户django
没有创建数据库的权限,因此出现错误消息。
当您运行migrate
或时syncdb
,Django不会尝试创建finance
数据库,因此不会出现任何错误。
您可以通过以超级用户身份在postgres shell中运行以下命令来向django用户添加createdb权限(此堆栈溢出答案的提示)。
=> ALTER USER django CREATEDB;
ALTER USER <username> CREATEDB;
命令中使用的用户名需要与Django设置文件中的数据库用户匹配。在这种情况下,原始张贴者将用户作为django
上述答案。