0
我在面向大小寫的搜索中遇到了問題。我使用以下環境: -在django-tastypie-mysql中遇到大小寫敏感的搜索問題
Database: MySQL
Collation/Character Encoding: utf8bin
Framework: Django-Tastypie
這整理/字符編碼不支持不區分大小寫的搜索。所以,如果我寫
SELECT .... WHERE company_name LIKE '%StackOverflow%';
那麼它不會給輸出「計算器」或其他組合。
當我使用的Django Tastypie過濾: -
company_name__icontains = 'StackOverflow'
,它的內部閃光相同的SQL查詢,因此它不會給出正確的答案。
如果我用簡單的MySQL查詢,然後我可能會使用:
SELECT .... WHERE UPPER(company_name) like upper('%StackOverflow%');
但不能寫入過濾器在Django的Tastypie上述溶液。
我找到了一個替代的方式來解決使用正則表達式的問題: -
company_name__iregex = '(S|s)(T|t)(A|a)(C|c)(K|k)(O|o)(V|v)(E|e)(R|r)(F|f)(L|l)(O|o)(W|w)'
然而,這是很慢的方法。
有人可以提供解決方案,以便我可以在Tastypie中爲不區分大小寫搜索構建過濾器。
感謝