SqlAlchemy:将日期时间列转换为日期列

deo*_*eff 5 python datetime sqlalchemy

我正在尝试将该 datetime列转换为 date

def filter_between_dates(query, req, db_col):

    date_from = req.get_param('date_from')
    #date_to = req.get_param('date_to')

    query = query.filter(cast(db_col,DATE) == date_from)

    return query
Run Code Online (Sandbox Code Playgroud)

错误显示:"name 'DATE' is not defined" 我尝试添加 import DATE,并得到 "ImportError:cannot import name 'DATE'"

也许我从一开始就做错了。请指导。

Rap*_*edo 8

你必须导入它。

from sqlalchemy import Date, cast
...
def filter_between_dates(query, req, db_col):

    date_from = req.get_param('date_from')
    #date_to = req.get_param('date_to')

    query = query.filter(cast(db_col,Date) == date_from)

    return query
Run Code Online (Sandbox Code Playgroud)

或者你可以用 func 来做到这一点:

from sqlalchemy import func
...
query = query.filter(func.date(db_col) == date_from)
Run Code Online (Sandbox Code Playgroud)