首页 > 解决方案 > 根据支付计划限制 django rest framework api

问题描述

我有一些由管理员用户执行的动态添加的功能,我将与某些端点相关联。

解决这个问题的好方法是什么?

问题是我该如何做这个关联?

标签: pythondjangoapipermissionsdjango-rest-framework

解决方案


我做了以下事情:

1)建立一些代表我所知道的“特征”的常量字符串。IE:

  • 壮举1 ='f1'
  • 壮举2 ='f2'

2) 使用它来将 FEATURE_CHOICES 创建到特征模型中。(这将由管理员用户动态创建。这些用户将关联相应的选择,并添加额外的代表性元数据,这对用户代理很有用。

FEATURE_CHOICES = ((feat1, 'Awesome feature'), (feat2, 'Just a regular feature'))

3)在我看来,将相应的值添加为类变量:api_feature = feat1

4) 创建了一个自定义的 DRF 权限类,该类实现了一个 has_feature 函数,该函数检查用户的计划是否具有此类请求的功能。

这是我现在实施的解决方案。所有常量都由 django-decouple 管理。


推荐阅读