我试图创建一个声明如下:
SELECT * FROM table WHERE provider IN ('provider1', 'provider2', ...)
但是,我在Django API中的字符串格式化方面遇到了一些问题。以下是我目前掌握的情况:
profile = request.user.get_profile()
providers = profile.provider.values_list('provider', flat=True) # [u'provider1', u'provider2']
providers = tuple[str(item) for item in providers] # ('provider1', 'provider2')
SQL = "SELECT * FROM table WHERE provider IN %s"
args = (providers,)
cursor.execute(sql,args)
DatabaseError
(1241, 'Operand should contain 1 column(s)')
MySQLdb有一个方法可以帮助您:
文档
用法
因此,您有ID必需的字符串输入:
在将字符串传递给cursor对象以执行之前,您可能应该进行字符串替换:
相关问题 更多 >
编程相关推荐