我有这个查询:
some_id = 1
cursor.execute('
SELECT "Indicator"."indicator"
FROM "Indicator"
WHERE "Indicator"."some_id" = %s;', some_id)
我收到以下错误:
TypeError: 'int' object does not support indexing
some_id 是一个 int 但我想选择 some_id = 1 的指标(或我决定放入变量的任何 #)。
原文由 nlr25 发布,翻译遵循 CC BY-SA 4.0 许可协议
这会将
some_id
参数转换为可索引的列表。假设您的方法像我认为的那样有效,这应该有效。发生错误是因为在该方法的某处,它可能正在尝试迭代该输入,或直接对其进行索引。可能是这样的:
some_id[0]
通过使它成为一个列表(或可迭代的),您允许它像这样索引到第一个元素。
您也可以通过这样做将其变成一个元组:
(some_id,)
它具有不可变的优点。