-1

次のように、forms.py で参照されている models.py のカテゴリの選択肢を定義しました。

models.py

class Exp(models.Model):
    CATEGORIES = ( ('Inc', 'Inc'),\
                   ('Hom', 'Hom'),\
                   ('syn', 'Syn'),\
                   ('Was', 'Was')\
                 )

フォーム.py

class ExpForm(ModelForm):
    category = forms.MultipleChoiceField(choices=Exp.CATEGORIES, widget=forms.CheckboxSelectMultiple())
    class Meta:
        model = Exp

ビュー.py

def view_exp(request):
    if request.method == "POST":
        form = ExpForm(request.POST)
        if form.is_valid():
        ...

複数選択の選択肢はフォームに正しく表示されますが、複数のオプションを選択すると、エラーで false が返さform.is_valid()れます。オブジェクトではなく を取得していることは理解していますが、このエラーを修正する方法がわかりません。どんな助けでも大歓迎です。views.pyAttributeError: 'str' object has no attribute 'status_codestrHttpResponse

注: 同じフォーム内に のタイプのフィールドが他にもありますCharField

トレースバックは次のとおりです。

Traceback (most recent call last):
  File "/software/python/python-2.7.3/lib/python2.7/site-packages/django/core/handlers/base.py", line 187, in get_response
    response = middleware_method(request, response)
  File "/software/python/python-2.7.3/lib/python2.7/site-packages/django/middleware/common.py", line 106, in process_response
    if response.status_code == 404:
AttributeError: 'str' object has no attribute 'status_code'
4

1 に答える 1