我的模塊中有一個字段用於保存對象的狀態。 到目前爲止,我已經使用:Django:在模塊中實現「狀態」字段的最佳方式
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 {}。或者也許有一個完全不同的方式來解決這個問題?
感謝
可能重複[通過選擇設置Django的IntegerField = ...名稱] (http://stackoverflow.com/questions/1117564/set-django-integerfield-by-choices-name) – 2012-03-29 16:59:28