title: 'is_superuser' is an invalid keyword argument for this function
body: <p>I used Django restframework.</p>
  
  <p>To implement customize user model, I use AbstractBaseUser.</p>
  
  <p>models.py code is below.</p>
  
  <p>[models.py]</p>
  
  <pre><code>from django.db import models
  from django.contrib.auth.models import AbstractBaseUser, BaseUserManager
  from django.utils import timezone
  
  class UserManager(BaseUserManager):
      use_in_migrations = True
  
      def _create_user(self, username, email, password, is_staff, is_admin, is_active, is_superuser, **extra_fields):
          now = timezone.now()
          if not username:
              raise ValueError('Username must be set')
          email = self.normalize_email(email)
          user = self.model(username=username, email=email, 
                          is_staff=is_staff, is_admin=is_admin,
                          is_active=is_active, is_superuser=is_superuser,
                          date_joined=now, **extra_fields)
  
          user.set_password(password)
          user.save(self._db)
          return user
  
      def create_user(self, username, email, password, **extra_fields):
          return self._create_user(username, email, password, False, False, True, False, **extra_fields)
  
      def create_superuser(self, username, email, password, **extra_fields):
          return self._create_user(username, email, password, True, True, True, True, **extra_fields)
  
  class User(AbstractBaseUser):
      USER_TYPE_CHOICES = (
          ('django', 'Django'),
          ('facebook', 'Facebook'),
          ('google', 'Google')
      )
  
      user_type = models.CharField(
          max_length=20,
          choices=USER_TYPE_CHOICES,
          default='Django'
      )
      email = models.CharField(max_length=100, null=False)
      username = models.CharField(max_length=20, unique=True)
      phone = models.CharField(max_length=12)
  
      # Default Permission
      is_staff = models.BooleanField(default=False)
      is_admin = models.BooleanField(default=False)
      is_active = models.BooleanField(default=False)
      is_superuser = models.BooleanField(default=False)
  
      date_joined = models.DateTimeField(auto_now_add=True)
  
      USERNAME_FIELD = 'username'
      objects = UserManager()
      REQUIRED_FIELDS = ['email']
  
      def get_full_name(self):
          pass
  
      def get_short_name(self):
          pass
  
      @property
      def is_superuser(self):
          return self.is_admin
  
      @property
      def is_staff(self):
         return self.is_admin
  
      def has_perm(self, perm, obj=None):
         return self.is_admin
  
      def has_module_perms(self, app_label):
         return self.is_admin
  
      @is_staff.setter
      def is_staff(self, value):
          self._is_staff = value
  </code></pre>
  
  <p>When I create super user,</p>
  
  <p>It throws <code>TypeError: 'is_superuser' is an invalid keyword argument for this function</code></p>
  
  <p>Maybe I think there is no function related is_superuser in my code, but I don't know exactly what I have to do.</p>
  
  <p>Is there any solution about this?</p>
  
  <p>Thanks.</p>