django 1.9: ProgrammingError: relation "users_user" does not exist

You have to delete the migrations folder and then, you should do

python manage.py migrate --run-syncdb

python manage.py migrate --fake appname

Your error is caused by the order you run the migrations. Since many apps depend on the user model existing, you must run the initial migrations for your custom user app before those other apps.

If you change the default user model in an existing project, it might be easier to discard all existing migrations (and the database) and rebuild from scratch. The order to apply migrations would be:

  1. The core django.contrib apps.
  2. Your custom user app.
  3. Other custom apps and third party apps.

You can use django-admin showmigrations to see which migrations exists and are planned.