我有这个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
但是在前端,下拉列表如下:
如何让完整的国家/地区显示在那里?我也不太明白为什么那里只有一个字母。有人可以澄清吗?
通过我对get_FOO_display()的了解
答案 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
)