【问题标题】:Django: Require admin approval for patch and postDjango:补丁和发布需要管理员批准
【发布时间】:2019-03-04 07:18:02
【问题描述】:

我正在尝试在 Django 中编写我的 REST API,以便如果有人制作补丁或发布它需要有权访问 Django 管理面板的人来实际编写更改,但它将处于待处理状态并且对管理员可见到那时,这可能吗?还是我必须为待处理的请求创建一个模型,然后制作补丁并发布创建新实体?

【问题讨论】:

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


    【解决方案1】:

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

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

    【讨论】:

      【解决方案2】:

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

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

      【讨论】:

        【解决方案3】:

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

        approved = models.BooleanField(default=False)
        

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

        【讨论】:

          猜你喜欢
          • 2016-10-03
          • 1970-01-01
          • 2011-03-04
          • 2011-12-10
          • 2020-10-06
          • 1970-01-01
          • 1970-01-01
          • 2018-09-08
          • 1970-01-01
          相关资源
          最近更新 更多