Python光标动态选择列

2024-09-29 00:22:32 发布

您现在位置:Python中文网/ 问答频道 /正文

虽然我使用的是django1.6.1和 我知道使用Django模型更容易,我需要使用游标。 像这样:

columnList = ['Field1', 'Field2']
cursor.execute("SELECT %s FROM table", [columnList])

但是我得到了一个异常:(1241, 'Operand should contain 1 column(s)')

如何向execute cursor函数传递一个dinamic列列表?在


Tags: djangofrom模型executetablecolumnselectcursor
2条回答

最后,我构建了一个包含列表中所有元素的字符串,并将此字符串传递给查询字符串:

columnList = ['Field1', 'Field2']

for idx, field in enumerate(columnList):
    if idx != len(columnList)-1:
        listFields += field + ', '
    else:
        listFields += field

cursor.execute("SELECT %s FROM table", listFields)

这不是我想要的,而且。。。我不为它感到骄傲…,但即使这样也比迭代django queryset快

在当前格式execute中,只需要一个列表作为第二个参数,但您传递的是一个列表中的列表。试试这个:

columnList = ['Field1', 'Field2']
cursor.execute("SELECT %s, %s FROM table", columnList)

相关问题 更多 >