为了创建流程验证,我正在使用“Django-Viewflow”库 ( http://viewflow.io/ ) 实现工作流。
当我将每个任务分配给具有固定数量的验证级别的特定验证器(用户)时,一切正常。
我的问题是:
当验证器的数量发生动态变化(n 个验证级别)时,如何使用这个库?
1- 选择验证器(1、2、3 或 n 个验证器)。
2- 在“flows.py”中使用 for 循环来执行 n 个验证任务。
如何在文件“flows.py”中包含 for 循环?
我的flows.py:(具有一个验证级别)
from viewflow import flow, lock
from viewflow.base import this, Flow
from viewflow.contrib import celery
from viewflow.views import ProcessView, StartProcessView
from viewflow.lock import select_for_update_lock
from django.contrib.auth import get_user_model
from django.http import HttpResponseRedirect
from django.shortcuts import render_to_response
from . import models, tasks, views
class CongeFlow(Flow):
process_cls = models.CongeProcess
lock_impl = select_for_update_lock
start = flow.Start(views.startProcess) \
.Next(this.assign) \
assign = flow.View(views.approve_conge) \
.Assign(lambda p: get_user_model().objects.get(id=p.validator1)) \
.Next(this.check_refuse)
check_refuse = flow.If(cond=lambda p: p.refuser) \
.OnTrue(this.end) \
.OnFalse(this.check_approve)
check_approve = flow.If(cond=lambda p: p.valider) \
.OnTrue(this.end) \
.OnFalse(this.assign)
end = flow.End()