根据付款计划限制Django Rest Framework API

时间:2018-11-10 18:23:53

标签: python django api permissions django-rest-framework

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

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

问题是我该如何建立关联?

1 个答案:

答案 0 :(得分:0)

我做了以下事情:

1)整理一些常量字符串,这些字符串代表我所知道的“功能”。即:

  • feat1 ='f1'
  • feat2 ='f2'

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

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

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

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

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