Я определили выбор для категории в models.py, которая в настоящее время ссылаются в forms.py как так:Джанго множественный выбор AttributeError: «ул» объект не имеет атрибута «status_code»
models.py
class Exp(models.Model):
CATEGORIES = (('Inc', 'Inc'),\
('Hom', 'Hom'),\
('syn', 'Syn'),\
('Was', 'Was')\
)
forms.py
class ExpForm(ModelForm):
category = forms.MultipleChoiceField(choices=Exp.CATEGORIES, widget=forms.CheckboxSelectMultiple())
class Meta:
model = Exp
views.py
def view_exp(request):
if request.method == "POST":
form = ExpForm(request.POST)
if form.is_valid():
...
Выбор мультиселектора отображается правильно в форме, но когда я выбираю несколько параметров, form.is_valid()
в views.py
возвращает false с ошибкой AttributeError: 'str' object has no attribute 'status_code
. Я понимаю, что я получаю str
вместо объекта HttpResponse
, но не могу понять, как исправить эту ошибку. Любая помощь приветствуется.
ПРИМЕЧАНИЕ: Существуют другие поля в том же виде, что и тип 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'
Можете ли вы дать полный отслеживающий? – mariodev
@mariodev, я обновил исходное сообщение с помощью трассировки, спасибо. – UNagaswamy
Что заставляет вас думать, что это метод is_valid, вызывающий ошибку? Это не то, что показывает трассировка. На самом деле ошибка вызвана тем, что ваш объект возвращает строку, а не HttpResponse. –