我試圖實現在Django enumartion結構,使得Django的enumaration問題
class Status():
PENDING = 0
CONFIRMED = 1
DENIED = 2
STATUS =(
(PENDING,_("salary_status_pending")),
(CONFIRMED,_("salary_status_confirmed")),
(DENIED,_("salary_status_denied")),
)
,並在我的模型我使用它像
class MyModel(models.Model):
status = models.IntegerField(null=False, choices=Status.STATUS)
它工作正常,如果我想要得到的標籤枚舉字段在我的模板我使用 {{ mymodel.get_status_display }}
它寫在我的枚舉字段中的標籤_('key..')
而不是在Django文檔中解釋的數字
但是,如果我想在我的view.py
中獲得標籤,該怎麼辦? 我想下面寫的代碼,它應該給我我怎樣才能實現這一目標枚舉領域,而不是數量
Status.CONFIRMED
的標籤嗎?
謝謝
是definetly一個很好的解決方案謝謝!但我幾乎有20個枚舉字段任何修改它們可能會導致嚴重..有沒有其他的解決方案,而不改變枚舉類? – brsbilgic
您可以即時構建字典:'dict(Status.STATUS)[Status.CONFIRMED]' – dragoon