0
class Task(models.Model):

    class Meta:
        permissions = (
            ("view_task", "Can see available tasks"),
            ("change_task_status", "Can change the status of tasks"),
            ("close_task", "Can remove a task by setting its status as closed"),
        )
user.has_perm('app.view_task')

contenttype.codenameが不明(ハードコードされていない)である場合、つまり、以下のように動的にデータベースから取得されている場合に、権限を確認する方法はありますか?

permission = Permission.objects.get(id=item.permission_id )
contenttype = ContentType.objects.get(id=permission.content_type_id)               
user.has_perm(appname.contenttype.codename)

しかし、それは常にfalseを返します

4

1 に答える 1

0

試す

user.has_perm(u'%s.%s' % (contenttype.app_label, permission.codename))

また、使用

contenttype = ContentType.objects.get_for_model(Permission)
于 2012-05-01T07:39:43.860 に答える