Я создаю форму поиска в django, и я борюсь с обработкой формы в моем представлении.
Мой код:
class SearchForm(forms.Form):
name = forms.CharField(label="Name", max_length=64, required=False)
...
<a few other fields>
def search(request):
if request.method == 'POST':
form = SearchForm(request.POST)
if form.is_valid():
name = form.cleaned_data['name']
qdict = { 'name': name}
q_objs = [Q(**{qdict[k]: form.cleaned_data[k]}) for k in qdict.keys() if form.cleaned_data.get(k, None)]
search_results = Group.objects.select_related().filter(*q_objs)
response = {'success' : search_results}
return HttpResponse(simplejson.dumps(response, ensure_ascii=False), mimetype='application/javascript')
else:
form = SearchForm()
return render_to_response("main/search.html", {'form': form},
context_instance=RequestContext(request))
Я получаю эту ошибку:
Не удается разрешить ключевое слово u'NAME в поле. Возможные варианты: date_submitted, id, name, параметры.
Я понял, что это поле в юникоде, и попытался преобразовать его с помощью str (...) или кодирования ('ascii', ...), но оно все равно выдает мне ту же ошибку. Я новичок в Django, поэтому любая помощь будет оценена.
Спасибо