Django - 权限和配置文件

我有几个不同的配置文件。我想将权限与这些配置文件相关联。我这样做了:
class StudentProfile(UserProfile):
    school = models.CharField(max_length=30)
    class Meta:
        permissions = (
            ("is_student","Can access student pages"),
        )
但是,当我尝试使用该配置文件对象上的has_perm检查是否存在该权限时,我收到错误“'StudentProfile'对象没有属性'has_perm'”我是不是应该以这种方式检查权限?我已经阅读了文档,这就是我认为应该做的事情 编辑:再次阅读文档后,似乎has_perm是一个属于用户而不是他们的个人资料的方法。但是,当我尝试显示权限时:
print user.get_all_permissions()
我得到一个空集。我不应该看到像“appname.is_student”这样的东西     
已邀请:
.has_perm
User
对象上的一种方法,而不是
UserProfile
对象上的方法。如果您尝试验证用户是否具有has_student权限,则需要执行以下操作:
user.has_perm('profiles.is_student')
假设您的StudentProfile模型位于
profiles
应用程序中。 编辑:要解决您的重新定义的问题,您应该以正常方式为组或特定用户分配权限,并使用
User.has_perm
。你的后一个例子完全违背了Django权限系统。     

要回复问题请先登录注册