2017-04-27 75 views
0

我是一个django初学者,我想添加一个booleanfield给AbstractUser,但它不显示管理中的booleanfield。Django AbstractUser不显示模型

models.py

class CustomUser(AbstractUser): 
    selected = models.BooleanField(default=False) 
    USERNAME_FIELD = 'username' 
    REQUIRED_FIELDS = ['selected',] 

    def __str__(self): 
     return self.username 

admin.py

class MyUserChangeForm(UserChangeForm): 
    class Meta(UserChangeForm.Meta): 
     model = CustomUser 

class UserAdmin(BaseUserAdmin): 
    form = MyUserChangeForm 
    list_display = ('username', 'first_name', 'last_name', 'email', 'is_staff', 'selected') 

admin.site.register(CustomUser, UserAdmin) 

settings.py

AUTH_USER_MODEL = 'football_app.CustomUser' 
+0

你可以添加'UserAdmin'类吗? –

+0

如果我列表显示它,它会显示,但我希望它为每个用户,所以我可以选择或取消选择它 –

+0

你完成makemigrations和迁移? –

回答

1
在admin.py文件更改

class UserAdmin(BaseUserAdmin):class UserAdmin(CustomUser):

编辑:更新您的类像这样

class UserAdmin(admin.ModelAdmin): 
    list_display = ('username', 'first_name', 'last_name', 'email', 'is_staff', 'selected') 

    class Meta: 
     model = CustomUser 
+0

它现在显示它,但是list_display不再显示字段并且用户的整个管理员已更改 –

+0

是不可能将用户admin保持为它是,只是添加字段到完成和列表显示它? –

+0

如果你想用'selected'场的每一个地方,你必须选择正确的模型类, –

0

您需要先注销当前用户管理。

admin.site.unregister(User) 
admin.site.register(CustomUser, UserAdmin) 
+0

那不是它:\ –

+0

那是什么?它实际上来自文档,它不在你的代码中。 https://docs.djangoproject.com/en/1.11/topics/auth/customizing/#extending-the-existing-user-model –

+0

如果我取消注册它给了我这个django.contrib.admin.sites.NotRegistered:模型用户未注册 –