我正在使用原始查询集,除了其他事情之外,我还检查名称是否以特定字符开头。
我使用ILIKE
,以保持大小写:
qs = self.raw(
f'''SELECT t.id, t.name,
................
WHERE t.is_active = true AND t.name ILIKE '%s%' ORDER BY name ASC''',
params=[char])
我收到以下错误:
tuple Index out of range
我认为这是因为这个原因而发生的:ILIKE '%s%'
,逃跑是错误的
最简单的
解决方案是在char
末尾添加%
:
qs = self.raw(
'''SELECT t.id, t.name
WHERE t.is_active = true AND t.name ILIKE %s ORDER BY name ASC''',
params=[char + '%'])