1

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

现在我从错误中得到 500 个coerce_to_related_instance(task, task.flow_task.flow_class.task_class错误'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”?
  3. ?
4

1 回答 1

0

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

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

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

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

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

于 2018-06-07T11:15:53.860 回答