In your case i.e. test_finance, when Django runs the test suite, it creates the new database. But, the postgres user with username django does not have permission to create the database, hence the error message occurs.
When we run migrate or syncdb, Django will not try to create the finance database, therefore you will not get any errors.
By running the following command in the postgres shell as a superuser, you can add the createdb permission to the django user.
=> ALTER USER django CREATEDB;
Note The username which is used in the ALTER USER <username> CREATEDB; command should be matched to the database user in your Django settings files.