我有一个带有选择的模型字段
CATEGORY_CHOICES = (
(0, 'A'),
(1, 'B'),
(2, 'C'),
)
我在数据库表中插入行,其中类别值可以是A,B或C.
而不是使用
if category:
if category == "A":
category = 0
elif category == "B":
category = 1
elif category == "C":
category = 2
在插入我的行之前,我可以以某种方式使用我的CATEGORY_CHOICES
将显示值转换为键值吗?
答案 0 :(得分:6)
构建display_value: value
对的dict并从中获取值:
CATEGORIES_D = {v: k for k, v in CATEGORY_CHOICES}
category = CATEGORIES_D[category]
答案 1 :(得分:0)
这个怎么样:
choices_dict = {}
for choice, value in CATEGORY_CHOICES:
choices_dict[value] = choice
category = choices_dict[category]