向用户添加自定义权限

Mit*_*tch 21 django django-permissions

我希望能够为一些现有用户提供访问视图所需的自定义权限.

我想我需要新的权限添加到Postgres的表auth_permission,但我怀疑有一个更高层次的方式来做到这一点.auth_permission中还有一个用于content_type的列,我不知道它的值应该是什么.

这样做的正确方法是什么?

she*_*ats 30

看看如何在文档中创建自定义权限.

class USCitizen(models.Model):
    # ...
    class Meta:
        permissions = (
            ("can_drive", "Can drive"),
            ("can_vote", "Can vote in elections"),
            ("can_drink", "Can drink alcohol"),
        )
Run Code Online (Sandbox Code Playgroud)

然后跑python manage.py makemigrations && python manage.py migrate.

使用permission_required装饰器来限制对视图的访问.

  • 这对我不起作用。我将元组更改为列表并且它有效。权限看起来像。权限 = [ ("",""),("","")] (2认同)