0

我有这个 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()

4

1 回答 1

1

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

from django_countries.data import COUNTRIES

owner__nationality = filters.MultipleChoiceFilter(
    choices=[(k, v) for k, v in COUNTRIES.items()],
    widget=Select2MultipleWidget
)
于 2019-04-26T06:23:20.953 回答