基本上,我需要构建一个函数,该函数将根据给定日期过滤查询并返回一个新查询。我是 SQLAlchemy 的新手,我查找了类似的问题,但仍然遇到相同的错误:
`Don't know how to literal-quote value datetime.datetime(2018, 1, 1, 8, 3, 1, 438278)`
Run Code Online (Sandbox Code Playgroud)
这是我的代码:
def filter_dates(query_obj, datecols, start = None, end = None):
if end is None:
end = datetime.datetime.now()
if start is None:
start = end - datetime.timedelta(weeks=12)
print("%s to %s" % (start, end))
for datecol in datecols:
print("Filtrando datas!")
query_obj = query_obj.filter(datecol >= start)
query_obj = query_obj.filter(datecol <= end)
ReevTable.print_query(query_obj)
return query_obj
Run Code Online (Sandbox Code Playgroud)
datecols 是一个 orm.attributes 对象。假设我有一个名为对象User有Datetime指定的属性created_at。这是预期的行为:
query = session.query(Company.name, …Run Code Online (Sandbox Code Playgroud)