6

我使用这个官方文档在 Django 中自定义身份验证创建了用户的自定义模型 但是如何添加组和权限?我的 django 是 1.9 版

4

3 回答 3

18

您可以通过使用 PermissionsMixin ( https://docs.djangoproject.com/en/3.1/topics/auth/customizing/#custom-users-and-permissions )在自定义用户模型中使用组和权限

只需使用您的自定义用户模型继承 PermissionsMixin ,如下所示:

class CustomUser(AbstractBaseUser, PermissionsMixin):

然后,您可以以与使用默认 django.contrib.auth 用户模型完全相同的方式访问它。

于 2016-04-30T23:14:56.647 回答
6

TL; 博士

('Group Permissions', {
    'fields': ('groups', 'user_permissions', )
})

详细说明

在 admin.py 中添加这个

应用程序/admin.py

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


class AppAdminConfig(UserAdmin):
    # ordering, list_display, etc..
    
    fieldsets = (
        # Other fieldsets

        ('Group Permissions', {
            'classes': ('collapse',),
            'fields': ('groups', 'user_permissions', )
        })
    )


admin.site.register(App, AppAdminConfig)

如果有人对整个代码的外观感兴趣,请参阅

于 2021-07-04T08:22:22.440 回答
0

作为@ajinzrathod 答案的补充:我应用了解决方案并得到了错误,因为我错过了一些尾随逗号。admin.py 中的工作代码如下:

class UserAdminConfig(UserAdmin):
    model = CustomUser
    fieldsets = (
        # Other fieldsets

        ('Group Permissions', {
            'fields': ('groups', 'user_permissions', )
        }),
    )
admin.site.register(CustomUser, UserAdminConfig)
于 2022-02-08T15:51:27.060 回答