我正在使用 django viewflow 创建发布过程:
- 用户创建一个对象
- 它进入审查过程,其状态为待定(公众不可见)
- 当它被审查和批准时,它就会被发布并公开可见。
- 如果用户编辑同一实体,它会再次进入审核过程,但旧数据仍然对公众可见
创建和公开的部分很容易,但如果我希望旧数据仍然对公众可见,那么编辑部分就不那么容易了。我正在考虑取消在 pre_save 上保存对象并将其保存到流程模型中。但我没有设法让它工作。django viewflow 如何做到这一点?有什么想法吗?
我正在使用 django viewflow 创建发布过程:
创建和公开的部分很容易,但如果我希望旧数据仍然对公众可见,那么编辑部分就不那么容易了。我正在考虑取消在 pre_save 上保存对象并将其保存到流程模型中。但我没有设法让它工作。django viewflow 如何做到这一点?有什么想法吗?
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