我想在sqlalchemy中使用in_运算符,使用两个值,其中一个是NULL(mysql NULL),我不知道如何通过Python传递它?
所以我有一个Python cgi包含一堆参数,我格式化然后最终存储在dict queryValues
中(键是列名,值是存储在fieldStorage中的用户发送的值) )
for attr,value in queryValues.items() : #queryValues is a dict of parameters
valueWithNone = value.append(None) #I want to includ NULL
and_args_of_cr = [(and_(getattr(TableCR.c,attr).in_(valueWithNone)))]
我尝试了无和sqlalchemy.sql.null()
,也尝试直接放置in_(value,None)
,但值的格式为['Yes']
,因此我不知道如何执行此操作。
但是它无法正常工作,我该怎么办呢?
答案 0 :(得分:1)
第value.append(None)
行是就地修改,不会返回任何内容,因此valueWithNone
将为无。这可能就是你想要的:
for attr,value in queryValues.items():
queryvalues = value[:] # Create a copy of list
queryvalues.append(None)
and_args_of_cr = [(and_(getattr(TableCR.c,attr).in_(queryvalues)))]