我正在在Django搜索表單,但我是在我看來處理表單掙扎。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,名稱,參數。
我意識到,這個字段是unicode的,並試圖通過str將其轉換(...)或編碼(「ASCII」,...),但它仍然給了我同樣的錯誤。我是django的新手,所以任何幫助,將不勝感激。
感謝