You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.17 11:30:55