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