Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从Django中的选项的显示值中获取键值_Django_Django Models - Fatal编程技术网

从Django中的选项的显示值中获取键值

从Django中的选项的显示值中获取键值,django,django-models,Django,Django Models,我有一个带有选项的模型字段 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": c

我有一个带有选项的模型字段

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\u选项
将显示值转换为键值?

构建
显示值:值
对的dict并从中获取值:

CATEGORIES_D = {v: k for k, v in CATEGORY_CHOICES}
category = CATEGORIES_D[category]
这个怎么样:

choices_dict = {}
for choice, value in CATEGORY_CHOICES:
    choices_dict[value] = choice

category = choices_dict[category]

你为什么一开始就要这么做?
类别
来自哪里?来自Excel导入