0

使用 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']

4

2 回答 2

1

生成器是可迭代的 Python 对象。见发电机

这将打印每个项目

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

我从 django-fsm Django-fsm TestCase的测试用例中发现了这一点

于 2020-05-05T16:55:09.350 回答
1

生成器有你需要的一切,它只需要迭代。要得到你想要的,你可以把它转换成一个列表:

transitions = list(obj.get_available_status_transitions())

您可能想阅读 Python 中的生成器,它们非常有用。

于 2020-05-02T12:52:14.567 回答