使用 django-fsm 确定对象的状态
Using django-fsm to determine the state of an object
如何使用 django-fsm 获取数据库项的当前状态。
我试过 get_state()
但它 returns 是一个空值。
这是我的代码:
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 库获取状态字段。
另外,如何使用模型方法获得可用的状态转换。
您可以像访问普通字段一样获取 stat 字段的值:
ticket.state
如果您想获得显示友好的版本,FSMField
与任何 CharField(choices=[])
字段一样使用:
ticket.get_state_display()
您可以通过调用获得所有可用的转换:
ticket.get_available_state_transitions()
你没有在你的模型上定义任何转换,所以这个调用目前不会return任何东西。
如何使用 django-fsm 获取数据库项的当前状态。
我试过 get_state()
但它 returns 是一个空值。
这是我的代码:
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 库获取状态字段。 另外,如何使用模型方法获得可用的状态转换。
您可以像访问普通字段一样获取 stat 字段的值:
ticket.state
如果您想获得显示友好的版本,FSMField
与任何 CharField(choices=[])
字段一样使用:
ticket.get_state_display()
您可以通过调用获得所有可用的转换:
ticket.get_available_state_transitions()
你没有在你的模型上定义任何转换,所以这个调用目前不会return任何东西。