title: Manager isn't available; User has been swapped for 'pet.Person'
body: <p>I'm been using the default user model in django for quite a abit and I realize , if I need to further enhance it , I would have to create my own custom User Model in django 1.5 .</p>
  
  <p>I created my custom user model and I have a function which allows users to sign in .
  I think my custom user model is incompatible with my function because it wouldn't allow me to do request.user . How can I fix this so I can use request.user again?</p>
  
  <p>views</p>
  
  <pre><code> def LoginRequest(request):
           form = LoginForm(request.POST or None)    
      if request.user.is_authenticated():
               username = User.objects.get(username=request.user)
               url = reverse('world:Profile', kwargs = {'slug': person.slug})
               return HttpResponseRedirect(url)       
           if request.POST and form.is_valid():
  
               user = form.authenticate_user()
               login(request, user)
              username= User.objects.get(username=request.user)
                  person = Person.objects.get(user=request.user)
              url = reverse('world:Profile', kwargs = {'slug': person.slug})
               return HttpResponseRedirect(url)
  
      return render(request, 'login.html',{'form': form})
  </code></pre>
  
  <p>models</p>
  
  <pre><code> class PersonManager(BaseUserManager):
       def create_user(self, email,date_of_birth, username,password=None,):
           if not email:
               msg = 'Users must have an email address'
               raise ValueError(msg)
  
           if not username:
                msg = 'This username is not valid'
          raise ValueError(msg)
  
           if not date_of_birth:
               msg = 'Please Verify Your DOB'
               raise ValueError(msg)
  
           user = self.model(
  
   email=PersonManager.normalize_email(email),username=username,date_of_birth=date_of_birth)
  
           user.set_password(password)
           user.save(using=self._db)
           return user
  
       def create_superuser(self,email,username,password,date_of_birth):
           user = self.create_user(email,password=password,username=username,date_of_birth=date_of_birth)
           user.is_admin = True
           user.is_staff = True
           user.is_superuser = True
           user.save(using=self._db)
           return user
  
  
   class Person(AbstractBaseUser, PermissionsMixin):
  
       email = models.EmailField(verbose_name='email address',max_length=255,unique=True,db_index=True,)
       username = models.CharField(max_length=255, unique=True)
       date_of_birth = models.DateField()
  
       USERNAME_FIELD = 'email'
       REQUIRED_FIELDS = ['username', 'date_of_birth',]
  
       is_active = models.BooleanField(default=True)
       is_admin = models.BooleanField(default=False)
       is_staff = models.BooleanField(default=False)
  
       objects = PersonManager()
  
       def get_full_name(self):
           return self.email
  
       def get_short_name(self):
           return self.email
  
       def __unicode__(self):
           return self.email
  </code></pre>