2017-12-22 7 views

答えて

2

一つの可能​​性は別のものを作成することです:サンスクリット語のタイトル「Aṣṭasāhasrikā-般若-經」フィールドtitleでは、私はそれを返すために、次のクエリを希望してBookオブジェクトを指定して、例えば

、 (b)検索中にascii_titleフィールドのみを使用して検索キーワードから最初に除外キーワードを削除する:

(英語) ascii_titleフィールドを使用して検索キーワードから除外キーワードを削除します。あなたは django.utils.text.slugify() implementationから remove_diacritics()のためのインスピレーションを見つけることができます
class Book(models.Model): 
    def save(self, *args, **kwargs): 
     self.ascii_title = remove_diacritics(self.title) 
     super().save(*args, **kwargs) 

Book.objects.filter(ascii_title__icontains=remove_diacritics('prajñā')) 

:あなたは、PostgreSQLを使用している場合は

import unicodedata 
def remove_diacritics(value): 
    return unicodedata.normalize('NFKD', value).encode('ascii', 'ignore').decode('ascii') 

は、別の可能性があります - hereが説明したようにUNACCENTクエリを使用します。

Book.objects.filter(title__unaccent=remove_diacritics('prajñā')) 
関連する問題