Viewflow Django - Как вы считаете, шаг за шагом? - PullRequest
0 голосов
/ 06 июня 2018

Я недавно удалил шаг в моем потоке просмотра.

Теперь я получаю 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. ?

1 Ответ

0 голосов
/ 07 июня 2018

Да, обычно для того, чтобы хранить информацию о типе узла и связанные подробные представления задач, вам нужно сохранять неподключенные узлы потока в вашем классе потока.

Общий сценарий обновления потока просто отбрасывает входящее соединение, но оставляет егос .Next(..), который позволил бы пользователю завершить существующий узел.

Если это невозможно, ссылки на задачи узла потока могут быть обновлены во время переноса данных

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

PRO версия содержит специальный obsolete узел, который позволяет отбрасывать устаревшие узлы, и все подробные представления узлов будут выполняться устаревшими подробными представлениями узлов.

...