Djangoがテストスイートを実行すると、新しいデータベース(この場合はtest_finance
)が作成されます。 。ユーザー名がdjango
のpostgresユーザー データベースを作成する権限がないため、エラーメッセージが表示されます。
migrate
を実行するとき またはsyncdb
、Djangoはfinance
を作成しようとはしません データベースなので、エラーは発生しません。
postgresシェルでスーパーユーザーとして次のコマンドを実行することにより、createdb権限をdjangoユーザーに追加できます(このスタックオーバーフローの回答のヒント)。
=> ALTER USER django CREATEDB;
注: ALTER USER <username> CREATEDB;
で使用されるユーザー名 コマンドは、Django設定ファイルのデータベースユーザーと一致する必要があります。この場合、元のポスターには、ユーザーがdjango
でした。 上記の答え。