1

如何使用 django-fsm 获取数据库项的当前状态。我试过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 库获取状态字段。另外,如何使用模型方法获得可用的状态转换。

4

1 回答 1

1

您可以通过像普通字段一样访问它来获取 stat 字段的值:

ticket.state

如果您想获得显示友好的版本,FSMField可以像使用任何CharField(choices=[])字段一样工作:

ticket.get_state_display()

您可以通过调用获得所有可用的转换:

ticket.get_available_state_transitions()

您没有在模型上定义任何转换,因此此调用目前不会返回任何内容。

于 2020-05-25T20:14:30.093 回答