1

第一天学习视图流,我设法让教程工作,但我有一个我不知道如何实现的用例。

我想要的是当工作流启动时,我希望它自动将任务分配给工作流启动者(用户),我如何去引用工作流中的当前请求对象?

例如。

start = (flow.Start(CreateProcessView)).Permission(auto_create=True).Next(this.fill_request)
fill_request = (flow.View(UpdateProcessView).Assign(#current user))
4

1 回答 1

0

可以用一个.Assign(...)可调用的来指定一个进程激活并应该返回一个用户。前任.Assign(lambda act: User.objects.get(...))

Viewflow 提供了几个可调用的快捷方式。指向完成该任务的用户的任何this.[task_name].owner点,以及activation,process.created_by指向完成该任务的.Start用户

fill_request = (
    flow.View(UpdateProcessView)
    .Assign(lambda act: act.process.created_by)
    # .Assign(this.start.owner)
 )
于 2019-10-27T11:40:37.573 回答