Използване на Django 1.3x.
В момента имам много, много голям и много, много активен набор от данни на Postgres, който има важна колона, индексирана като lower(column)
.
Току-що разбрах, че някои често срещани заявки са доста бавни, защото Django ORM генерира заявка за полето като blah = UPPER(column)
, когато използвам iexact
, за да съответства на това поле.
Има ли прост начин да накарам ORM да използва lower()
вместо това, или трябва да вляза в необработен SQL за този?
Благодаря!
[страничен въпрос за коментарите: Има ли добра причина, пренебрегната, да се използва upper()
в индекса вместо lower()
?]