2017-04-27 69 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:模型用戶未註冊 –