Django:如何获取Choice字段的选项值列表
获取Choices选项值列表的方法
你定义的Choices结构如下:
all_choices= Choices( ('val1', _("val1 text")), ('val2', _("val2 text")), ('val3', _("val3 text")), ('val4', _("val4 text")), )
要提取所有选项的取值(即每个元组的第一个元素),可以用以下几种简单方法:
列表推导式直接提取:这是最直观的方式,遍历Choices对象中的每个选项元组,取出第一个元素:
def get_choice_values(choices): return [item[0] for item in choices] # 调用示例 values_list = get_choice_values(all_choices) # 返回结果:['val1', 'val2', 'val3', 'val4']使用map函数简化代码:如果喜欢更简洁的写法,也可以用
map配合lambda来提取:values_list = list(map(lambda x: x[0], all_choices))
如果是Django框架下的models.Choices类,部分版本还支持直接访问values属性,但上面的通用方法兼容性更强,不管是自定义Choices还是框架自带的都能生效。
内容的提问来源于stack exchange,提问作者Bokijonov
相关产品推荐
相关产品推荐

