I followed the django doc <https://docs.djangoproject.com/en/1.8/topics/auth/customizing/#a-full-example> on creating a custom user model while extending the model itself with my own fields. So it became like this:
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'] And its manager to be: 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 However, after I created the superuser while syncdb, when I login to the admin panel, there is nothing to do. It displays: * You don't have permission to edit anything.* I saw some other post with the same problem and most of them suggested to add *admin.autodiscover()* in the urls.py. But even this didn't help me. This is the admin.py: 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) What am I doing wrong here? Please help me how to solve this problem. Thank you. -- You received this message because you are subscribed to the Google Groups "Django users" group. To unsubscribe from this group and stop receiving emails from it, send an email to django-users+unsubscr...@googlegroups.com. To post to this group, send email to django-users@googlegroups.com. Visit this group at http://groups.google.com/group/django-users. To view this discussion on the web visit https://groups.google.com/d/msgid/django-users/CAM4YLW%2B3cBT8bLQL%2Bo1%3Dy6ZJ_7R8xUHvMd8AwfP_mxn%3DPRN6BA%40mail.gmail.com. For more options, visit https://groups.google.com/d/optout.