在Django模型层中实现State设计模式的最佳方法是什么?

时间:2017-02-15 18:31:05

标签: django design-patterns state

我们有一些任务和状态,任务可能有。你可能会想到任何跟踪应用程序,也就是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中实现这一目标的最佳方法是什么?

0 个答案:

没有答案