【发布时间】:2010-07-01 00:34:15
【问题描述】:
我正在尝试创建一个自定义字段,该字段会自动将 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) 是有效的并且匹配了几行。我做错了吗?
我添加排序规则信息的原因是我想对这些字段执行查询并忽略任何变音符号。
【问题讨论】:
-
您确定您要整理的字段不是二进制的吗?
标签: django django-models custom-fields