flatten python tuple - django 字段选项 optgroups
flatten python tuple - django field options optgroups
我一直在寻找一种方法来在 django 中展平一个字段的选项,该字段的结构是 optgroup 嵌套元组:
CHOICES = (
('', (
('value1', 'label1'),
('value2', 'label2'),
)
),
('Group2', (
('value3', 'label3'),
('value4', 'label4'),
)
),
)
我想要实现的是一个仅包含值 ['value1', 'value2',
'value3', 'value4']
.
的列表
我尝试了 itertools chain、zip 和 sum,但我无法摆脱分组标签,即空字符串 '' 和 'Group2'。有什么想法吗?
谢谢
您可以使用 list comprehension 来做到这一点:
[choice[0] for group in CHOICES for choice in group[1]]
任何感兴趣的人都可以执行以下操作:
[tuple[0] for tuple in [field].get_flatchoices(False)]
我一直在寻找一种方法来在 django 中展平一个字段的选项,该字段的结构是 optgroup 嵌套元组:
CHOICES = (
('', (
('value1', 'label1'),
('value2', 'label2'),
)
),
('Group2', (
('value3', 'label3'),
('value4', 'label4'),
)
),
)
我想要实现的是一个仅包含值 ['value1', 'value2',
'value3', 'value4']
.
我尝试了 itertools chain、zip 和 sum,但我无法摆脱分组标签,即空字符串 '' 和 'Group2'。有什么想法吗?
谢谢
您可以使用 list comprehension 来做到这一点:
[choice[0] for group in CHOICES for choice in group[1]]
任何感兴趣的人都可以执行以下操作:
[tuple[0] for tuple in [field].get_flatchoices(False)]