Django:需要管理员批准才能发布和发布

时间:2018-09-28 09:59:29

标签: python django rest django-rest-framework admin

我正在尝试在Django中编写我的REST API,这样,如果有人制作补丁或发布补丁,将要求有权访问Django管理面板的人实际编写更改,但是它将挂起并且对管理员可见在那之前,这可能吗?还是我必须为待处理的请求创建模型,然后打补丁并发布新的实体?

3 个答案:

答案 0 :(得分:0)

您必须将请求用户存储在某处,有几种解决方案:

  • 数据库中的新模型
  • 模型上的新字段is_validated
  • 将其存储在缓存中(不安全)

答案 1 :(得分:0)

我同意@Zulu在回答中所说的一切(除了使用缓存,不要认为这是个好主意)。

我认为您最好的选择是(假设我理解您的总体目标)是创建一个存储更改历史记录的模型。从那里,每个更改都可以维护状态,然后您的视图/视图集可以简单地从最近验证的数据中提取。希望这是有道理的,可以为您提供全面的帮助。

答案 2 :(得分:0)

您可以在模型中创建一个新字段,以显示已批准或待审核状态

approved = models.BooleanField(default=False)

此字段不应包含在模型序列化程序中,而应包含在模型管理员中。您还可以使用查询集仅显示在管理面板中尚未批准的对象。