title: Adding custom fields to auth_user table in Django
body: <p>Currently I created another class/table called <code>MyAppUser</code> with my custom columns (such as address and phone number) that has a foreign key to Django's authentication <code>User</code>.</p>
  
  <p>Something like this</p>
  
  <pre><code>from django.db import models
  from django.contrib.auth.models import User
  
  class MyAppUser( models.Model ) :
      def __unicode__( self ) :
         return self.user.username
  
      user    = models.ForeignKey( User )
      comment = models.TextField( blank = True )
      phone   = models.CharField( max_length = 135, blank = True )
  </code></pre>
  
  <p>Is the above method a good practice? Or should I try to modify the <code>auth_user</code> directly? And if so, how would I do that?</p>
  
  <p>Bonus question: Is there a way to have both my custom table to be called <code>User</code> as well? I thought about trying <code>from django.contrib.auth import models</code>, then calling <code>models.User</code>, but then I think that would conflict with <code>django.db.models</code> as well. Maybe I need to try <code>from django.contrib.auth.models import User as AuthUser</code>? Is this a good idea?</p>