正如标题所提到的,我正在 Django 中工作,并尝试创建一个查询集来返回所有名称值是我的 query_string 的子字符串的“客户”模型。
我想要这样的东西:
Customer.objects.filter(firstName__icontains=query_string)
但反过来说:
Customer.objects.filter(query_string__icontains=firstName)
但这显然行不通。
我正在努力寻找有关如何解决此问题的任何信息。
提前致谢。
Edit我的预期输入将是日语 - 假名和汉字 かな、カナ、汉字
您可以定义一个自定义查找。下面这个是 Postgres 特有的:
class LowerContainedBy(Lookup):
lookup_name = 'icontained_by'
def as_sql(self, compiler, connection):
lhs, lhs_params = self.process_lhs(compiler, connection)
rhs, rhs_params = self.process_rhs(compiler, connection)
params = lhs_params + rhs_params
return f"LOWER({rhs}) LIKE '%%' || LOWER({lhs}) || '%%'", params
CharField.register_lookup(LowerContainedBy)
然后你可以这样做:
Customer.objects.filter(firstName__icontained_by=query_string)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)