Flask实战小技巧(1)—— Flask-SQLalchemy

2019-08-08  本文已影响0人  曲谐_

业务背景:

思考:

解决方案:

采用sqlalchemy的extract函数和and函数。前者可比较年月日信息,后者可表示sql中的and。
实例:
接口采用POST方法,接口信息:

{
    "date": "2019-08-07",
    "monitor_id": 1
}
    query = MonitorCameraList.query.filter(
        MonitorCameraList.move_status == 1,
        MonitorCameraList.monitor_id == body["monitor_id"]
    )

    # 筛选条件
    if "date" in body:
        date_tuple = datetime.strptime(body["date"], "%Y-%m-%d")
        query = query.filter(and_(
                extract("year", MonitorCameraList.updated_at) == date_tuple.year,
                extract("month", MonitorCameraList.updated_at) == date_tuple.month,
                extract("day", MonitorCameraList.updated_at) == date_tuple.day
            )
        )
    sth_list = query.all()

使用extract过滤,sth_list字段就可以获得筛选后的结果了。

上一篇 下一篇

猜你喜欢

热点阅读