python - Django Form 拒绝在多个选择字段中呈现查询集

标签 python django forms field django-queryset

我有以下 django 表单:

class AccountForm(Form):

    evalTypes = django_fields.MultipleChoiceField(label="Default Evaluation Forms", widget=django_widgets.SelectMultiple)

    def __init__(self, *args, **kwargs):        
        super(AccountForm, self).__init__(*args, **kwargs)

        # GET POSSIBLE LIST OF EVALUATIONS

        self.fields["evalTypes"].queryset = CustomForm.objects.filter(author__permissions__name__in=['manager'])

        for q in self.fields["evalTypes"].queryset:
            print q # THIS PRINTS ALL THE CORRECT VALUES

问题是,当页面加载时,唯一出现的就是空的选择框。这很奇怪,因为我有明确的证据表明查询集已正确填充。我可能会错过什么?

最佳答案

MultipleChoiceField采用 choices 而不是 queryset

使用ModelMultipleChoiceField相反

evalTypes = forms.ModelMultipleChoiceField(label="Default Evaluation Forms", widget=forms.SelectMultiple, queryset=None)

关于python - Django Form 拒绝在多个选择字段中呈现查询集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17456248/

相关文章:

javascript - 带有 Form 和 $setPristine 的 Angular 1.5 组件

python - 在 html 页面中填写注册表单后,出现此错误并使用用户名和密码并将值存储在登录表单中

javascript - 无法获得 ajax 响应以使用 python 代码放置好

django - 无法在 Django 模板中渲染 View

python - 围绕下划线的三个python正则表达式

python - 如何绘制时间序列的倒数

python - 如何在django中找到与另一个对象没有关系的对象列表

jquery - 仅从已更改的文本输入中收集值

java - 如何从 Python 连接到 JDA 服务器

python - 将数组转换为图像