from django.conf import settings
from django.contrib.auth.models import (
    AbstractBaseUser, PermissionsMixin)
from django.core.urlresolvers import reverse
from django.db import models


class Profile(models.Model):
    user = models.OneToOneField(
        settings.AUTH_USER_MODEL)
    name = models.CharField(
        max_length=255)
    slug = models.SlugField(
        max_length=30,
        unique=True)
    about = models.TextField()
    joined = models.DateTimeField(
        "Date Joined",
        auto_now_add=True)

    def __str__(self):
        return self.user.get_username()

    def get_absolute_url(self):
        return reverse(
            'dj-auth:public_profile',
            kwargs={'slug': self.slug})

    def get_update_url(self):
        return reverse('dj-auth:profile_update')


class User(AbstractBaseUser, PermissionsMixin):
    email = models.EmailField(
        'email address',
        max_length=254,
        unique=True)
    is_staff = models.BooleanField(
        'staff status',
        default=False,
        help_text=(
            'Designates whether the user can '
            'log into this admin site.'))
    is_active = models.BooleanField(
        'active',
        default=True,
        help_text=(
            'Designates whether this user should '
            'be treated as active. Unselect this '
            'instead of deleting accounts.'))

    USERNAME_FIELD = 'email'

    def __str__(self):
        return self.email

    def get_absolute_url(self):
        return self.profile.get_absolute_url()

    def get_full_name(self):
        return self.profile.name

    def get_short_name(self):
        return self.profile.name

@@ -80,32 +80,53 @@
 bstractBaseUser,
+ BaseUserManager,%0A   
  PermissionsMixi
@@ -128,16 +128,16 @@
 sMixin)%0A
-
 from dja
@@ -823,16 +823,975 @@
 ate')%0A%0A%0A
+class UserManager(BaseUserManager):%0A    use_in_migrations = True%0A%0A    def _create_user(%0A            self, email, password, **kwargs):%0A        email = self.normalize_email(email)%0A        is_staff = kwargs.pop('is_staff', False)%0A        is_superuser = kwargs.pop(%0A            'is_superuser', False)%0A        user = self.model(%0A            email=email,%0A            is_active=True,%0A            is_staff=is_staff,%0A            is_superuser=is_superuser,%0A            **kwargs)%0A        user.set_password(password)%0A        user.save(using=self._db)%0A        return user%0A%0A    def create_user(%0A            self, email, password=None,%0A            **extra_fields):%0A        return self._create_user(%0A            email, password, **extra_fields)%0A%0A    def create_superuser(%0A            self, email, password,%0A            **extra_fields):%0A        return self._create_user(%0A            email, password,%0A            is_staff=True, is_superuser=True,%0A            **extra_fields)%0A%0A%0A
 class Us
@@ -2369,16 +2369,16 @@
 ts.'))%0A%0A
-
     USER
@@ -2399,16 +2399,45 @@
 email'%0A%0A
+    objects = UserManager()%0A%0A
     def 

Create custom User Manager.