我有一个示例国家元组列表:
[("GB", "Great Britain"), ("IR", "Ireland"), ("IC", "Iceland")]
为了我的任务,我不需要国家代码,只需要人类可读的值。但是,Django在它的choiceField中接受元组。我写了一个简单的方法来创建一个新的元组,该元组将只包含友好名称作为元组中的两个值,例如:
[("Great Britain", "Great Britain"), ("Ireland", "Ireland"), ("Iceland", "Iceland")]
但是我想看看是否有比我的实现更简单的方法在Django或python中执行此操作。有人有什么想法吗?
方法
def change_country_tuples(country_list):
new_country_list = []
for country in country_list:
new_country_list.append(tuple((country[1], country[1])))
return new_country_list
Django选择字段调用
country = fields.ChoiceField(
label='Choose country',
choices=[('', 'Select a country')] + change_country_tuples(country_choices),
)
编辑 为了清楚起见,更新后的代码是:
def change_country_tuples(country_list):
return [(country_name, country_name) for country_code, country_name in country_list]
答案 0 :(得分:0)
在python changeCountryTuples中,可以使用以下代码:
newCountryList = [(country[1],country[1]) for country in country_list]