我是一个API端点/api/create/
。这将根据从客户端收到的有效负载在数据库中创建一个新条目。
Payload - {
'field1': 'value1`,
'field2': 'value2`,
'field3': 'value3`,
'field4': 'value4`,
'type': 'A'
}
现在取决于type
,我是一个特定的工作流程。例如: - Type A
需要在保存数据之前执行某些任务,Type B
有自己的一组操作。
我没有任何用户界面,只有通过POST请求发出的请求。如何将django-viewflows用于此类用例?
已更新
我能够使用WorkFlowClass.start.run()
以编程方式运行工作流程。它完美地启动了工作流程。但是,不是完整的工作流程。在完成工作流的Node1(开始)后,它不会转到Node2。意思是,只调用工作流的第一个任务,而不是后续任务。
这是我的工作流程。
class FunctionFlow1(Flow):
start = flow.StartFunction(function1) \
.Next(this.task2)
task2 = flow.StartFunction(function2) \
.Next(this.end)
end = flow.End()
@flow_start_func
def function1(activation, **kwargs):
print('Func1 Called.')
activation.prepare()
activation.done()
return activation
@flow_start_func
def function1(activation, **kwargs):
print('Func2 Called.')
activation.prepare()
activation.done()
return activation
task2
未被调用。为什么呢?
答案 0 :(得分:1)
您可以使用viewflow.rest
包来创建REST API。请查看演示项目并查看流动休息文档。
请注意,此功能仅适用于 PRO PRO
https://github.com/viewflow/cookbook/tree/master/react_ui
http://docs.viewflow.io/viewflow_rest.html
viewflow.rest包提供了REST的流程实现 接口