Использование Django 1.3x.
В настоящее время у меня есть очень, очень большой и очень, очень активный набор данных Postgres, который имеет важный столбец, проиндексированный как lower(column)
.
Я только что понял, что некоторые обычные запросы выполняются довольно медленно, потому что Django ORM генерирует запрос для поля как blah = UPPER(column)
, когда я использую iexact
для соответствия этому полю.
Есть ли простой способ заставить ORM использовать lower()
вместо этого, или мне нужно перейти на сырой SQL для этого?
Спасибо!
[побочный вопрос для комментариев: Есть ли веская причина, если не учитывать, использовать upper()
для индекса, а не lower()
?