Viewflow Django - 你如何弃用一个步骤?

时间:2018-06-06 19:27:58

标签: django-viewflow

我最近删除了视图中的一个步骤。

现在我收到来自coerce_to_related_instance(task, task.flow_task.flow_class.task_class的500个错误,错误为'NoneType' object has no attribute 'flow_class'

class TaskIterable(ModelIterable):
    def __iter__(self):
        base_iterator = super(TaskIterable, self).__iter__()
        if getattr(self.queryset, '_coerced', False):
            for task in base_iterator:
                if isinstance(task, self.queryset.model):
                    print(task)
                    task = coerce_to_related_instance(task, task.flow_task.flow_class.task_class)
                yield task
        else:
            for task in base_iterator:
                yield task

我理解这种情况发生是因为旧任务已被弃用,因此任务无法再映射到有效任务。

我有什么选择?

  1. 保留旧任务以便映射?
  2. 运行sql脚本来更新所有'flow_task'?

1 个答案:

答案 0 :(得分:0)

是的,通常为了保留节点类型信息和相关的详细任务视图,您需要在流类中保留未连接的流节点。

常规流更新方案只是删除传入连接,但保留.Next(..),以允许用户完成现有节点。

如果不可能,可以在数据迁移期间更新流节点任务引用

http://docs.viewflow.io/viewflow_core.html#flow-migration

PRO版本包含允许删除过期节点的特殊obsolete节点,并且所有节点详细信息视图都将由过时的节点详细信息视图执行。