Python sqlalchemy:and_u和子句列表中日期函数的求值
我在turbogears控制器中动态添加and子句,在到达日期列之前,一切都正常工作,似乎它无法计算表达式,因为我在turbogears中得到了“ProgrammingError”。代码如下:Python sqlalchemy:and_u和子句列表中日期函数的求值,python,sqlalchemy,Python,Sqlalchemy,我在turbogears控制器中动态添加and子句,在到达日期列之前,一切都正常工作,似乎它无法计算表达式,因为我在turbogears中得到了“ProgrammingError”。代码如下: terms = ["create_time<=DateTime('2012-01-01')"] records = DBSession.query(myrecords).filter(and_(*terms)) terms=[“create_time您需要在中发送表达式构造,只需丢失引号: ter
terms = ["create_time<=DateTime('2012-01-01')"]
records = DBSession.query(myrecords).filter(and_(*terms))
terms=[“create_time您需要在中发送表达式构造,只需丢失引号:
terms = [create_time<=DateTime('2012-01-01')]
records = DBSession.query(myrecords).filter(and_(*terms))
terms=[create_timeYour*terms
将字符串解析为和
,而您的“works”表达式解析为不同的表达式。也许这就是它们工作方式不同的原因吧?是的,我刚刚检查过,子句列表似乎只对简单的比较有用……除非我这样做:and(eval(*terms))您可以尝试eval()
,但这从来都不是一个好的做法:P
terms = [create_time<=DateTime('2012-01-01')]
records = DBSession.query(myrecords).filter(and_(*terms))