-
Хотел сделать выборки через field__istartswith = 'тест',но не получилось.Почтила на форумах нашел что как-то криво работает с русским.Как решить эту проблему?
-
"Как-то криво" — это не то, на чем стоит строить выводы :-).
istartswithна стороне Джанго никаким особенным образом не обрабатывается, все зависит от СУБД. В ней должны быть правильно настроены кодировка и так называемый collation — конфигурационный параметр, который как раз отвечает за то, по каким правилам буквы приводятся к регистрам и сортируются. Каким он должен быть фактически, зависит от СУБД. -
извиняюсь,не корректно выразился. На сервере стоит postgresql 8.3.3. А можно поподробнее рассказать про настройки СУБД?
-
Ага... Хорошая новость в том, что работать в принципе оно должно. У меня тоже 8.3 Postgres, и оно работает:
select subject from cicero_topic where subject ilike 'те%'; subject ----------------------------------------------- Тестовая тема Тема? тест немецкого текстаПлохая новость в том, что я понятия не имею, как посмотреть текущий collation :-). У меня оно так стоит "от рождения", благо Ubuntu во всей конфигурации пихает unicode и правильный collation куда только можно.
Хотя скорее всего, если оно не работает, придется создавать новый "кластер" (по сути — директорию с данными, в которой физически хранятся все базы) с нужными параметрами, потому что эти вещи в Postgres настраиваются раз и навсегда для всех баз. Делается это командой initdb.
-
Странно попробовал сделать запрос в базе как писали вы Иван.Если ввожу в нижнем регистре,но ничего не находит,а если в верхнем ,то работает. Язык русский
-
Ну это скорее всего и означает, что collation неверный.

