2015-05-30 60 views
1

我正在使用Django rest框架构建API。我必须根据登录用户的种类来限制对字段的访问权限(包括读取或写入权限)。我该如何解决?我正在考虑为不同的用户角色编写单独的序列化程序
(我将获得一个访问令牌,使用它可以验证用户的每个请求,下一步将获得用户的角色,根据这个角色我想限制哪些字段用户可以看到/编辑)。根据django中的用户权限限制字段

+0

可能重复[Django rest框架,在同一个ModelViewSet中使用不同的序列化程序](http://stackoverflow.com/questions/22616973/django-rest-framework-use-different-serializers-in-the-same- modelviewset) –

回答

1

如果你想给某些用户模型级权限执行某些动作,你可以用custom permissions像这样做:

class T21Turma(models.Model): 
    class Meta: 
     permissions = (("can_view_boletim", "Can view boletim"), 
         ("can_view_mensalidades", "Can view mensalidades"),) 

然后你就可以做一些序列化和交换他们出去基于意见在权限上,或者您可以修改串行器dynamically的字段。