无法从 Django 中获取多个 select 的选择

Cannot fetch choices for multiple select from in django

我在获取多个 select 表单的选项时遇到问题。我正在尝试从 couchdb 中获得选择。它已成功打印到控制台中:
[[u'c6570a56173b637d66ba2a2e390271fe', u'Rambler'], [u'c6570a56173b637d66ba2a2e3902ad1f', u'BBC']]
, 但它没有出现在模板中。
这是我的 forms.py

sel = []


# FiltersForm is print out title, two select elements and an one required textinput's field
class FiltersForm(forms.Form):
    title = forms.CharField(widget=forms.TextInput(attrs={'placeholder': 'A title'}), label='Title')
    item = forms.ChoiceField(widget=forms.Select(attrs={'class': 'selectpicker'}), required=False, label='If',
                             choices=items)
    action = forms.ChoiceField(widget=forms.Select(attrs={'class': 'selectpicker'}), required=False, label='is',
                               choices=actions)
    word = forms.CharField(widget=forms.TextInput(attrs={'placeholder': 'a word'}))
    link = forms.URLField(max_length=255, widget=forms.URLInput(attrs={'value': 'http://'}))
    source = forms.MultipleChoiceField(widget=forms.SelectMultiple(attrs={'class': 'selectpicker'}), choices=sel)

    def __init__(self, *args, **kwargs):
        request = kwargs.pop('request', None)
        response = request.db.view('subscriptions/source', key=str(request.user)).rows
        for item in response:
            sel.append([item.id, item.value['title']])
        print sel
        super(FiltersForm, self).__init__(*args, **kwargs)

views.py

中的表单实例
# Retrieving a FiltersForm
form = FiltersForm(request.POST or None, request=request)

我的表格有什么问题?

您在 __init__ 方法中定义了一个名为 sel 的局部变量,但这与您以前在全局级别使用相同名称的变量没有任何关系填写表格。实际上,您必须在该方法中用您的新值替换选项:

self.fields['source'].choices = sel