title: django admin - You don't have permission to edit anything
body: <p>I followed the <a href="https://docs.djangoproject.com/en/1.8/topics/auth/customizing/#a-full-example" rel="noreferrer">django doc</a> on creating a custom user model while extending the model itself with my own fields. So it became like this:</p>
  
  <pre><code>class MyUser(AbstractBaseUser, PermissionsMixin):
      email = models.EmailField(max_length=255, unique=True)
      first_name = models.CharField(max_length=35)
      last_name = models.CharField(max_length=35)
      username = models.CharField(max_length=70, unique=True)
      date_of_birth = models.DateField()
      is_active = models.BooleanField(default=True)
      is_admin = models.BooleanField(default=False)
  
      @property
      def is_staff(self):
          return self.is_admin
  
      def get_full_name(self):
          return ('%s %s') % (self.first_name, self.last_name)
  
      def get_short_name(self):
          return self.username
  
      objects = MyUserManager()
      USERNAME_FIELD = 'email'
      REQUIRED_FIELDS = ['first_name', 'last_name', 'username', 'date_of_birth']
  </code></pre>
  
  <p>And its manager to be:</p>
  
  <pre><code>class MyUserManager(BaseUserManager):
      def create_user(self, email, first_name, last_name, username, date_of_birth, password=None):
          if not email:
              raise ValueError('User must have an email address')
  
          user = self.model(
              email=self.normalize_email(email),
              first_name=first_name,
              last_name=last_name,
              username=username,
              date_of_birth=date_of_birth,
          )
  
          user.set_password(password)
          user.save(using=self._db)
          return user
  
      def create_superuser(self, email, first_name, last_name, username, date_of_birth, password):
          user = self.create_user(
              email,
              first_name=first_name,
              last_name=last_name,
              username=username,
              date_of_birth=date_of_birth,
              password=password
          )
          user.is_admin = True
          user.save(using=self._db)
          return user
  </code></pre>
  
  <p>However, after I created the superuser while syncdb, when I login to the admin panel, there is nothing to do. It displays:</p>
  
  <blockquote>
    <blockquote>
      <p>You don't have permission to edit anything.</p>
    </blockquote>
  </blockquote>
  
  <p>I saw some other post with the same problem and most of them suggested to add <code>admin.autodiscover()</code> in the urls.py. But even this didn't help me.</p>
  
  <p>This is the admin.py:</p>
  
  <pre><code>class MyUserAdmin(UserAdmin):
      form = UserChangeForm
      add_form = UserCreationForm
  
      list_display = ('email', 'first_name', 'last_name', 'username', 'date_of_birth', 'is_admin')
      list_filter = ('is_admin',)
      fieldsets = (
          (None, {'fields': ('email', 'password')}),
          ('Personal info', {'fields': (('first_name', 'last_name'), 'username', 'date_of_birth')}),
          ('Permissions', {'fields': ('is_admin',)}),
      )
  
      add_fieldsets = (
          (None, {
              'classes': ('Wide',),
              'fields': ('email', 'first_name', 'last_name', 'username', 'date_of_birth')
          }),
      )
      search_fields = ('email',)
      ordering = ('email',)
      filter_horizontal = ()
  
  
  admin.site.register(MyUser, MyUserAdmin)
  </code></pre>
  
  <p>What am I doing wrong here? Please help me how to solve this problem. Thank you.</p>