【问题标题】:Django choosen user permission is not showing in admin pageDjango 选择的用户权限未显示在管理页面中
【发布时间】:2018-12-05 19:20:56
【问题描述】:

我尝试使用 AbstractUser 在我的项目中扩展默认 Django 用户。在 Django 管理员中,我看不到选择的用户权限。

这是我的工作

from django.db import models
from django.contrib.auth.models import AbstractUser

class ExtendedUser(AbstractUser):
    bio = models.TextField(max_length=500, blank=True)
    birth_date = models.DateField(null=True, blank=True)

之后我在 admin.py

中添加我的扩展用户
class ExtendedUserAdmin(admin.ModelAdmin):
    pass


admin.site.register(ExtendedUser, ExtendedUserAdmin)

同时在 settings.py

中添加 AUTH_USER_MODEL
AUTH_USER_MODEL = '_aaron_user.ExtendedUser'

【问题讨论】:

  • 从该图片中删除您的密码
  • 密码不重要。它仅用于开发目的。谢谢@aws_apprentice

标签: python django python-3.x django-admin


【解决方案1】:

对于那些使用自定义用户模型的用户,您需要在 admin.py 中添加下一个代码:

filter_horizontal = ('groups', 'user_permissions',)

例如:

from django.contrib import admin
from django.contrib.auth.admin import UserAdmin

from .forms import CustomUserCreationForm, CustomUserChangeForm
from .models import CustomUser


    class CustomUserAdmin(UserAdmin):
        search_fields = ('email',)
        list_display = ('email', 'is_staff', 'is_active',)
        list_filter = ('email', 'is_staff', 'is_active',)
        filter_horizontal = ('groups', 'user_permissions',)
    
        class Meta:
            model = CustomUser
    
    admin.site.register(CustomUser, CustomUserAdmin)

filter_horizo​​ntal 行取自原始 django.contrib.auth.admin 类 UserAdmin

之后“选择组”和“选择用户权限”可用。

【讨论】:

    【解决方案2】:

    就我而言,它缺少来自static/admin|css|js 的bootstrap 文件

    【讨论】:

      【解决方案3】:

      我通过导入 UserAdmin 并在我的 admin.py 文件中使用此模型注册我的 ExtendedUser 解决了这个问题。

      from.models import ExtendedUser
      from django.contrib.auth.admin import UserAdmin
      
      admin.site.register(ExtendedUser, UserAdmin)
      

      结果是选择的组和选择的用户权限现在可用。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2011-05-09
        • 2023-03-04
        • 2013-07-09
        • 2017-06-21
        • 1970-01-01
        • 2016-03-20
        • 2020-09-30
        • 1970-01-01
        相关资源
        最近更新 更多