次のように、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'