我们有一些任务和状态,任务可能有。你可能会想到任何跟踪应用程序,也就是redmine。各国不断变化,未来不会发生变化。从一个州过渡到另一个州的可能性也是不变的。
class State(models.Model):
STATE_NEW = 1
STATE_IN_PROGRESS = 2
STATE_POSTPONED = 3
STATE_DONE = 4
name = models.CharField(
max_length=50,
unique=True,
)
class Task(models.Model):
name = models.CharField(max_length=255, db_index=True)
state = models.ForeignKey(State, default=State.STATE_NEW)
我想要的是实现一个状态设计模式,而不是一个充满条件的丑陋的changeState方法。在Django中实现这一目标的最佳方法是什么?