title: In Django 1.8, what does "USERNAME_FIELD" mean by authentication system?
body: <p>I have been learning Django for a week, In order to implement authentication system, I have created models.py file as tutorials.</p>
  
  <pre><code>from django.db import models
  from django.contrib.auth.models import AbstractBaseUser
  
  class User(AbstractBaseUser):
  
      username = models.CharField('username', max_length = 10, unique = True, db_index = True)
      email = models.EmailField('email address', unique = True)
      joined = models.DateTimeField(auto_now_add = True)
      is_active = models.BoolenField(default = True)
      is_admin = models.BoolenField(default = False)
  
      USERNAME_FIELD = 'username'
      def __unicode__(self):
           return self.username
  </code></pre>
  
  <p>I understand what <strong>username, email, joined, is_active, is_admin</strong> means, but I can't understand why I use <strong>USERNAME_FIELD</strong>.</p>
  
  <p>Is <strong>username</strong> created by <em>models.CharField</em> equal to the <strong>'username'</strong> in <em>USERNAME_FIELD</em>?</p>
  
  <p>Why do I have to create <strong>USERNAME_FIELD</strong>?</p>
  
  <p>What does <strong>def __unicode__(self):</strong> function mean?</p>