扩展Django用户的权限

时间:2012-04-25 04:54:10

标签: django permissions authentication extend

我只是希望List用户获得许可,所以我只创建了一个自定义模型,如下所示

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'),
        )

在视图中我简单地称为

items=Mycustomuser.objects.all()

它返回的用户ID仅为4。

我这样做是因为我使用django监护人取得了以下许可

task = MyCustomuser.objects.create()
joe = User.objects.get(username__exact='admin')
assign('view_category', joe, task)

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

1 个答案:

答案 0 :(得分:3)

没有必要也不建议扩展User模型。请参阅Storing additional information about users

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