【发布时间】:2013-12-07 21:25:16
【问题描述】:
我目前正在尝试在 Django 中实现状态模式。以这些模型为例:
class Restaurant(models.Model):
name = models.CharField()
# other fields here ...
class State(models.Model):
pass
class StateOpen(State):
def toggle_open_closed():
pass
class StateClosed(State):
def toggle_open_closed():
pass
现在我怎样才能让我的餐厅有一个状态,这个状态可以是 StateOpen 或 StateClosed?
编辑:理想情况下,我希望能够做这样的事情:
r = Restaurant(name='whatever')
r.state.doSomething()
# doSomething() being a function that each state child class has,
# but implemented differently
【问题讨论】:
标签: python django design-patterns django-models state-pattern