如何在Django中使用枚举
答案 0 :(得分:0)
制定问题也有助于得出答案。
部分地,我想与任何对使用枚举和选择有类似问题的人分享这个答案,部分地,问是否由于某种原因不建议该解决方案,否则其他问题将进一步发生(我认为应在以下方面实施)更大比例的数千行元组。
下面的代码在我的项目中有两个作用。 1.建立可以以所选语言返回答案的表格。2.启用多个选项(几列)的选择字段,例如以便在下拉菜单中显示各种语言。
from enum import Enum
class MasterEnum(Enum):
# object # en # de
Product_HORSE = 'horse', 'pferd'
Product_CAR = 'car', 'auto'
Place_GARAGE = 'garage', 'garage'
Place_STABLE = 'stable', 'stall'
class YNNeutralEnum(Enum):
Yes = 'Yes', 'Ja'
No = 'No', 'Nein'
Neutral = 'Neutral', 'Neutral'
class Wessen(Enum):
W1 = 'Horse', 'Pferd'
W555 = 'Manbearpig', 'MannBärSchwein'
class Lang():
# column position in enum table
en = 0
de = 1
def ChoiceEnum(enum, Lang):
return tuple((x.name, x.value[Lang]) for x in enum)
# testing
choices = ChoiceEnum(Wessen, Lang.en)
print(choices)
choices = ChoiceEnum(MasterEnum, Lang.de)
print(choices)
print(choices[1])
print(Wessen.W555.name)
print(Wessen.W555.value)
print(Wessen.W555.value[1])