我有以下的模型和实例: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