Django Viewflow-创建->待处理->发布->编辑->待处理->发布

时间:2019-03-09 17:15:15

标签: python django django-viewflow

我正在使用django viewflow创建发布过程

  • 用户创建对象
  • 它正在进行审查过程,其状态为待审核(公众不可见)
  • 在经过审核并批准后,它会发布并在公众面前可见。
  • 如果用户编辑相同的实体,它将再次进入审核过程,但是旧数据仍然对公众可见

创建和公开它的部分很容易,但是如果我希望旧数据仍然对公众可见,那么编辑部分就不那么多了。我当时想取消将对象保存在pre_save上,然后将其保存到流程模型中。但是我没有设法使它起作用。 django viewflow如何做到这一点?有什么想法吗?

1 个答案:

答案 0 :(得分:1)

Viewflow是薄的工作流层,可从视图中提取流逻辑。保存各种数据的视图逻辑保持不变。

要编写自定义视图,您只需添加FlowMixin。它可以与generic.CreateView一起使用,与generic.UpdateView一起使用

Django CBV看起来可能很复杂,在这种情况下,您可以使用基于功能的简单视图,只需用@flow_view装饰器将其标记即可。任务完成后,视图应调用request.activation.done()

以下是几个自定义视图示例,您可以检查其引用https://github.com/viewflow/cookbook/blob/master/custom_views/demo/bloodtest/views.py#L54