COLLATE 情報を SQL クエリの WHERE 部分に自動的に追加するカスタム フィールドを作成しようとしています。
class IgnoreDiacriticsField(models.TextField):
def get_prep_lookup(self, lookup_type, value):
if lookup_type == 'exact':
return ' "' + self.get_prep_value(value) + '" COLLATE utf8_general_ci'
次のようなクエリを実行すると:
result = ModelClass.objects.filter(field='value')
クエリ (print result.query) が有効で、複数の行に一致する場合でも、何も見つかりません。私は何か間違ったことをしていますか?
照合順序を追加する理由は、これらのフィールドに対してクエリを実行し、発音記号を無視したいからです。