除了使用eval()之外,还有办法动态生成Q()。
使用eval()的当前方法:
q = eval(“Q(”+ q_arg + mode +“= args [arg])”)
模式为“_ in”或“ _nin”。
这很有效,只是在没有eval()
的情况下尝试这样做答案 0 :(得分:3)
Q
对象,就像任何python类一样,可以使用kwargs
- 这可以是一个字典,所以你可以构建字典并将其传递给例如:
kwargs = {}
# Build the key and add it to the kwargs dict
key = "%s%s" % (q_arg, mode)
kwargs[key] = args[arg]
# Pass kwargs to Q
q = Q(**kwargs)