【问题标题】:SqlAlchemy in_ opeator with NULLSqlAlchemy in_ 运算符与 NULL
【发布时间】:2014-04-22 15:00:39
【问题描述】:

我想在 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)))]

我尝试了 None 和 sqlalchemy.sql.null(),也尝试直接输入 in_(value,None),但 value 的格式为 ['Yes'],所以我不知道该怎么做。

但它不起作用,请问我该怎么做?

【问题讨论】:

    标签: python mysql sql sqlalchemy


    【解决方案1】:

    value.append(None) 行是就地修改,不返回任何内容,因此valueWithNone 将为 None。这可能就是你所追求的:

    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)))]
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-06-07
      • 1970-01-01
      • 2015-07-02
      • 1970-01-01
      • 2017-11-11
      • 1970-01-01
      • 2016-06-28
      相关资源
      最近更新 更多