如何在带有Django筛选器的Django-Countries中使用语言选择的详细名称

时间:2019-04-26 05:36:05

标签: django django-models django-filter django-countries

我有这个Django过滤器:

from django_countries.data import COUNTRIES

owner__nationality = filters.MultipleChoiceFilter(choices=COUNTRIES, widget=Select2MultipleWidget)

所以我想我只是使用原始的选择字段来过滤国籍(为此我使用了Django Countries来填充数据) 如您在此处的源代码中所见,导入是正确的: https://github.com/SmileyChris/django-countries/blob/master/django_countries/data.py

但是在前端,下拉列表如下:

enter image description here

如何让完整的国家/地区显示在那里?我也不太明白为什么那里只有一个字母。有人可以澄清吗?

通过我对get_FOO_display()的了解

1 个答案:

答案 0 :(得分:1)

MultipleChoiceFilter将元组的迭代作为选择。您提到的软件包提供COUNTRIES作为字典。尝试做

from django_countries.data import COUNTRIES

owner__nationality = filters.MultipleChoiceFilter(
    choices=[(k, v) for k, v in COUNTRIES.items()],
    widget=Select2MultipleWidget
)