我有以下的模型和實例:Django的ASCII碼unicode字符串的近似匹配當量
class Bashable(models.Model):
name = models.CharField(max_length=100)
>>> foo = Bashable.objects.create(name=u"piñata")
現在我希望能夠搜索對象,但使用的ASCII字符,而不是unicode的,是這樣的:
>>> Bashable.objects.filter(name__lookslike="pinata")
是否有在Django辦法做到這種近似串匹配的,用ASCII替身在數據庫中的Unicode字符?
這是一個related question,但是用於Apple的Core Data。
這看起來像一個合理的解決方案。能夠在單個查詢中更高效地在數據庫級別執行此操作會很好,但看起來好像PostgreSQL至少不支持它(未檢查其他)。佩斯的解決方案[1]指出重音剝離的實施。 [1] http://stackoverflow.com/questions/2480159/django-approximate-matching-of-unicode-strings-with-ascii-equivalents/2480313#2480313 – user85461 2010-03-19 22:35:00