1

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

  • 用户创建一个对象
  • 它进入审查过程,其状态为待定(公众不可见)
  • 当它被审查和批准时,它就会被发布并公开可见。
  • 如果用户编辑同一实体,它会再次进入审核过程,但旧数据仍然对公众可见

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

4

1 回答 1

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

于 2019-03-11T04:00:39.357 回答