Я только начинаю работать с Python и застрял в синтаксисе, который мне нужен для преобразования набора параметров request.POST в синтаксис запроса Solr.
Вариант использования - это форма, определенная следующим образом:
class SearchForm(forms.Form):
text = forms.CharField()
metadata = forms.CharField()
figures = forms.CharField()
После отправки форме необходимо сгенерировать строку в кодировке URL для передачи клиенту URL, который выглядит следующим образом:
text:myKeyword1+AND+metadata:myKeyword2+AND+figures:myKeyword3
Похоже, должен быть простой способ сделать это. Самое близкое, что я могу получить, это
for f, v in request.POST.iteritems():
if v:
qstring += u'%s\u003A%s+and+' % (f,v)
Однако в этом случае двоеточие (\ u003A) генерирует ошибку Solr, поскольку оно не кодируется должным образом.
Как правильно это сделать?
Спасибо!