Python 如何在Django Viewflow流程中包含For循环
为了创建流程验证,我正在使用“Django Viewflow”库()实现一个工作流 当我将每个任务分配给具有固定数量验证级别的特定验证器(用户)时,所有这些都可以正常工作 我的问题是: 当验证程序的数量发生动态变化(n个验证级别)时,如何使用此库 1-选择验证器(1、2、3或n个验证器) 2-使用“flows.py”中的for循环执行n个验证任务 如何在文件“flows.py”中包含for循环 My flows.py:(具有一个验证级别)Python 如何在Django Viewflow流程中包含For循环,python,django,validation,workflow,django-viewflow,Python,Django,Validation,Workflow,Django Viewflow,为了创建流程验证,我正在使用“Django Viewflow”库()实现一个工作流 当我将每个任务分配给具有固定数量验证级别的特定验证器(用户)时,所有这些都可以正常工作 我的问题是: 当验证程序的数量发生动态变化(n个验证级别)时,如何使用此库 1-选择验证器(1、2、3或n个验证器) 2-使用“flows.py”中的for循环执行n个验证任务 如何在文件“flows.py”中包含for循环 My 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()