扩展 Django 用户权限

sum*_*mit 5 authentication django permissions extend

我只想列出用户获得许可,所以我只制作了一个自定义模型,如下所示

from django.db import models
from django.contrib.auth.models import  Permission,User

class Mycustomuser(User):
    class Meta:
        permissions = (
            ('users','users'),
            ('view_user', 'View user'),
        )
Run Code Online (Sandbox Code Playgroud)

在视图中我只是简单地调用

items=Mycustomuser.objects.all()
Run Code Online (Sandbox Code Playgroud)

它仅返回 4 的用户 ID。

我这样做是因为我使用 django Guardian 获得了以下许可

task = MyCustomuser.objects.create()
joe = User.objects.get(username__exact='admin')
assign('view_category', joe, task)
Run Code Online (Sandbox Code Playgroud)

现在我想在调用 MyCustomuser 时检查该权限。

bmi*_*lac 4

没有必要也不建议扩展User模型。请参阅存储有关用户的附加信息

也就是说,您可以在不设置permissions模型元属性的情况下创建权限,请参阅以编程方式创建权限