我想从当前任务中获取下一个视图流任务的ID。原因是因为我想生成下一个任务的URL。要生成URL,我需要进程ID和任务ID。我知道使用任务名称和名称空间,只要拥有进程ID和任务ID,我就可以反转URL。
对于进程ID,它很简单。
process_pk=activation.process.pk
但是对于任务来说,它似乎更加复杂。我不确定,但我 不要相信此时尚未创建下一个任务。 因此,我的方法是强制激活下一个任务。
next_task = activation.flow_class.next_task_name
mvactivation = next_task.activate(
prev_activation=activation, token=activation.task.token
)
task_pk = mvactivation.task.id
required_url = reverse(
"namespace:next_task_name",
kwargs={"process_pk":process_pk, "task_pk":task_pk}
) # or ,manual generation /someprocess/{process_pk}/task/{task_pk}"
我不确定这是否正确。或者即使有可能 是不良的副作用。
我想要此URL的原因是因为我必须将其传递给外部自动化过程,但是它是动态的。