【问题标题】:django form "unexpected keyword argument 'queryset'"django表单“意外的关键字参数'queryset'”
【发布时间】:2012-02-10 21:35:57
【问题描述】:

我可能在这里做一些明显错误的事情,比如错过导入。

from django import forms  
from swap_meet.inventory.models import Item 

class AddOrderForm(forms.Form):
    test = forms.ChoiceField(queryset=Item.objects.all())

我得到的错误是__init__() got an unexpected keyword argument 'queryset'

【问题讨论】:

    标签: python django forms


    【解决方案1】:

    对于 ChoiceField,您可以使用

        test = forms.ChoiceField(choices=[
        (item.pk, item) for item in Item.objects.all()])
    

    一般选择是一个元组列表

    【讨论】:

    • 使用 Python 3.6+, Django 3.1.6: test = forms.MultipleChoiceField(choices=[(item.pk, item) for item in YourModel.objects.all()]) 现在是可能的
    【解决方案2】:

    querysetModelChoiceField 的参数。对于ChoiceField,你想要choices

    【讨论】:

      【解决方案3】:

      ChoiceFields 不接受查询集参数。你正在寻找ModelChoiceField

      【讨论】:

        猜你喜欢
        • 2013-10-29
        • 1970-01-01
        • 1970-01-01
        • 2022-01-18
        • 1970-01-01
        • 1970-01-01
        • 2018-08-07
        • 2016-09-12
        • 1970-01-01
        相关资源
        最近更新 更多