Following what seems like good advice, I migrated from Django's built-in auth.User to my own app.User by doing a migration that renames auth_user to app_user. So far so good, this works fine. The problem comes when I set up a new machine.
In my settings.py I have AUTH_USER_MODEL = 'app.User'. Because of this, when I run syncdb, the auth_user table is not created, so when I migrate, that migration fails.
The only way around this I've found is to modify AUTH_USER_MODEL to point to auth.User, run syncdb and migrations up until the rename migration, then change AUTH_USER_MODEL back, then run the rest of the migrations.
Is there a way around this problem?