所以我有一个包含 10 个字段的数据库(称它们为 a、b、c....j),我需要创建一个函数“find_use()”,它可以根据字段的任意组合查找和修改数据库中的记录作为参数给它(即: find_use(a=="happy", g =="birthday") )。此外,由于特权,我没有直接生成 SQL 查询,而是使用系统提供的名为“selector()”的 SQL 包装器,它将根据相同的参数定位记录,即:query = selector(a==" happy", g=="birthday"),然后返回匹配记录的列表
所以问题是,因为我不知道 find_use() 将接收哪些参数,所以我不知道如何构造对 selector() 的内部调用。理想情况下,应动态创建对选择器的调用;大意是:
def find_use(a='',b='',c='',.....j=''):
vars = locals()
for v in vars:
if v.value() != '':
q_string += '{0} == {1},'.format(v.key(),v.value())
query = selector(q_string)
...do something to query...
但是,这不起作用,因为选择器不接受字符串,而是采用与 find_use() 函数相同格式的参数。那么,如何做到这一点。我觉得这实际上很容易,我只是错过了一些明显的东西。任何投入将不胜感激。