我正在使用Django rest框架构建API。我必须根据登录用户的类型限制对字段的访问(读取或写入访问)。如何进行操作?我正在考虑为不同的用户角色编写单独的序列化器(我将获得一个访问令牌,每个请求使用我可以验证用户,下一步将获取用户的角色,根据我想要限制用户可以看到/编辑的字段。
答案 0 :(得分:1)
如果您想为某些用户提供模型级权限以执行某些操作,您可以使用custom permissions执行此操作,如下所示:
class T21Turma(models.Model):
class Meta:
permissions = (("can_view_boletim", "Can view boletim"),
("can_view_mensalidades", "Can view mensalidades"),)
然后,您可以根据权限制作多个序列化程序并在视图中将它们交换出来,也可以修改序列化程序dynamically的字段。