我目前有一个拥有三种权限的网站:
我想要做的是限制用户可以查看的内容,具体取决于他在驱动程序上的子访问级别,即驱动程序有三个子访问级别 - 100,200,300。我正在考虑这样做
def email_check(user):
return user.accesslevel
@user_passes_test(accesslevel=100)
def my_view(request):
...
如何将子访问级别的附加属性添加到用户模型?有没有其他方法来实现这个?此外,由于这是一个已经存在的项目,因此已经有很多用户。我还需要为他们提供默认访问值。
答案 0 :(得分:0)
与user_passes_test
一起使用的想法对我来说很好。
所以你的主要问题基本上是如何扩展用户模型。本主题在Django documentation: Customizing authentication下详细介绍。
总而言之,主要有两种方法可供选择。一个是extend your user model,其自定义模型与用户和任何自定义字段(如访问级别)具有一对一的关系。
或者,您可以提供自定义用户模型和substitute the Django User model,但这似乎不适合您的情况。