【发布时间】:2011-01-09 16:01:28
【问题描述】:
我的模块中有一个字段用于保存对象的状态。 到目前为止我用过:
ORDER_STATUS = ((0, 'Started'), (1, 'Done'), (2, 'Error'))
status = models.SmallIntegerField(choices=ORDER_STATUS)
一种方式很容易转换:
def status_str(self): return ORDER_STATUS[self.status][1]
问题出在更新时。我发现自己有这样的代码:
order.status = 2 # Error Status
这很糟糕,而且很难同步。我想一个解决方案类似于 C 的 enum{}。或者也许有完全不同的方法来解决这个问题?
谢谢
【问题讨论】: