The problem is the default User model does not have some very useful options given to the fields e.g unique=True to the email field.
I read this questio
There's this already asked... How to make email field unique in model User from contrib.auth in Django
Also the django method of additional user data is here http://docs.djangoproject.com/en/dev/topics/auth/#auth-profiles .
I'm not entirely a fan of this method and appreciate where you are coming from, but sometimes you have to go with the herd.