gpt4 book ai didi

python - Django View 流 - 创建->待处理->发布->编辑->待处理->发布

转载 作者:行者123 更新时间:2023-12-01 08:13:48 25 4
gpt4 key购买 nike

我正在使用 django viewflow 创建一个发布流程:

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

如果我希望旧数据仍然对公众可见,创建和公开的部分很容易,但编辑部分就不那么容易了。我正在考虑取消在 pre_save 上保存对象并将其保存到流程模型中。但我没能成功。如何使用 django viewflow 来完成此操作?有什么想法吗?

最佳答案

Viewflow 是一个精简的工作流层,可从 View 中提取流程逻辑。保存各种数据的 View 逻辑保持不变。

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

Django CBV 可能看起来很复杂,在这种情况下你可以使用一个简单的基于函数的 View ,只需用 @flow_view 装饰器标记它。当任务完成时, View 应该调用 request.activation.done()

这里是几个自定义 View 示例,您可以查看引用https://github.com/viewflow/cookbook/blob/master/custom_views/demo/bloodtest/views.py#L54

关于python - Django View 流 - 创建->待处理->发布->编辑->待处理->发布,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55079929/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com