2
我遵循django doc創建自定義用戶模型,同時使用自己的字段擴展模型本身。因此,它成了這個樣子:django admin - 您無權編輯任何東西
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']
而且它的經理是:
不過,我創建了超級用戶後,同時執行syncdb,當我登錄到管理面板,沒有什麼可以做的。它顯示:
您沒有權限編輯任何內容。
我看到了一些其他職位同樣的問題,其中大部分建議在urls.py.添加admin.autodiscover()
但即使這並沒有幫助我。
這是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)
什麼我錯在這裏做什麼?請幫我解決這個問題。謝謝。
這幫了我。謝謝! –
對我也有幫助!謝謝 – s0nskar