Django FSM - get_available_FIELD_transitions - PullRequest
0 голосов
/ 02 мая 2020

Используя django_fsm мне нужно получить список доступных переходов. При использовании следующего кода я получаю <generator object get_available_FIELD_transitions at 0x10b9ba660>

obj = MyModel.objects.get(pk=object_id)
transitions = obj.get_available_status_transitions()
print(transitions)

Вместо этого я хотел бы получить список переходов, таких как ['PENDING', 'CLOSED']

Ответы [ 2 ]

0 голосов
/ 05 мая 2020

Генераторы - это итеративные python объекты. См. Генераторы

При этом будет напечатан каждый элемент

    transitions = list(obj.get_available_state_transitions())
    print(transitions)

Я обнаружил это в тестах django -fsm Django -fsm TestCase

0 голосов
/ 02 мая 2020

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

transitions = list(obj.get_available_status_transitions())

Возможно, вы захотите прочитать о генераторах в Python, они очень полезны.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...