Hello, Yes I thought so too, but in the example there is no *is_superuser *property provided neither in the User models or in the User manager. Therefore, I just copied the example from the django doc and tried running it. After creating the superuser, I can edit the models. I have no Idea what I am mission now.
On Fri, Nov 6, 2015 at 11:35 AM, Andreas Kuhne <[email protected]> wrote: > Hi, > > You don't have permissions to edit anything, because you haven't created a > superuser. > > The superuser in django has a property that is called "is_superuser" and > should be set to True. If you don't have that property (and your > createsuperuser sets some other property), you will have the same rights as > everyone else, which is nothing to begin with. You can add rights to the > user be adding the permissions you want, or by setting the is_superuser > property to True. > > Check the documentation for the django admin site here: > https://docs.djangoproject.com/en/1.8/ref/contrib/admin/ > > Regards, > > Andréas > > 2015-11-06 0:15 GMT+01:00 Benjamin Smith <[email protected]>: > >> 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 [email protected]. >> To post to this group, send email to [email protected]. >> 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 >> <https://groups.google.com/d/msgid/django-users/CAM4YLW%2B3cBT8bLQL%2Bo1%3Dy6ZJ_7R8xUHvMd8AwfP_mxn%3DPRN6BA%40mail.gmail.com?utm_medium=email&utm_source=footer> >> . >> For more options, visit https://groups.google.com/d/optout. >> > > -- > 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 [email protected]. > To post to this group, send email to [email protected]. > 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/CALXYUbnB8rA%2BtYcsc0htY2tNtcUmBDwo%3DgRO7OX62cKw8ksbNg%40mail.gmail.com > <https://groups.google.com/d/msgid/django-users/CALXYUbnB8rA%2BtYcsc0htY2tNtcUmBDwo%3DgRO7OX62cKw8ksbNg%40mail.gmail.com?utm_medium=email&utm_source=footer> > . > For more options, visit https://groups.google.com/d/optout. > -- 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 [email protected]. To post to this group, send email to [email protected]. 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/CAM4YLWKX6yFk%3D52J1BqT%3D5i-Fm0tHKc9hbowvt5nNTpXjaSAtw%40mail.gmail.com. For more options, visit https://groups.google.com/d/optout.

