使用django-fsm确定对象的状态。

问题描述 投票:0回答:1

如何使用django-fsm.I已经尝试了 get_state() 但它返回一个空值。

这是我的代码。

from django.db import models
from django_fsm import FSMField, transition

STATES = ("Open", "In Progress", "Re Opened", "Done", "Closed")
STATES = list(zip(STATES, STATES))

class Ticket(models.Model):
    title = models.CharField(max_length=40)
    state = FSMField(default=STATES[0], choices=STATES)

有没有办法用django-fsm库获取状态字段.另外,我如何用model方法获取可用的状态转换。

django state-machine django-fsm
1个回答
0
投票

你可以像访问普通的字段一样来获取stat字段的值。

ticket.state

如果你想得到友好的显示版本, FSMField 行之有效 CharField(choices=[]) 字段。

ticket.get_state_display()

你可以通过调用来获得所有可用的转换。

ticket.get_available_state_transitions()

你没有在你的模型上定义任何转场,所以这个调用目前不会返回任何东西。

© www.soinside.com 2019 - 2024. All rights reserved.