Django Viewflow - flow.If 自定义视图对我不起作用

Django Viewflow - flow.If with custom views doesn't work for me

我的流程是这样的:

    review_request = (
        flow.View(
            ReviewRequest,
        ).Permission(
            auto_create=True
        ).Next(this.check_response)
    )


    check_response = flow.If(cond=lambda act: True
        ).Then(
            this.approved_access_request
        ).Else(
            this.refused_access_request
        )


    approved_access_request = flow.View(
        AccessApproved,
    ).Assign(
        this.review_request.owner
    ).Permission(
        auto_create=True
    ).Next(this.end)

    refused_access_request = flow.View(
        AccessRefused,
    ).Assign(
        this.review_request.owner
    ).Permission(
        auto_create=True
    ).Next(this.end)

还有一个观点:

class ReviewRequest(FlowMixin, generic.UpdateView):
    template_name = 'web/review-access-request.html'
    model = AccessRequest

    form_class = ReviewAccessRequestForm

    def get_object(self):
        return self.activation.process

    def request_details(self):
        return self.activation.process.access_request

    def form_valid(self, form):
        form.save()
        self.activation_done()
        next_view_url = self.get_success_url()
        return redirect(next_view_url)

问题是 AccessApproved 和 AccessRefused 的页面没有显示。分配部分有效(由 admin material 前端显示),但视图未执行。相反,有几秒钟的停顿,浏览器被发送到管理员收件箱。

查看任务不是自动执行的,而是用户选择的。通常在 flow.If 之后,新分配的任务会出现在用户收件箱中。

如果您在默认前端按“保存并继续”按钮,您的 ReviewRequest 视图可以通过调用 viewflow.flow.utils.get_next_task_url

来决定下一步去哪里