hosinokamui
V2EX  ›  Flask

小白求助, flask_sqlalchemy 条件查询的一个问题

  •  
  •   hosinokamui · Jan 7, 2020 · 4262 views
    This topic created in 2502 days ago, the information mentioned may be changed or developed.
    如果条件为 None,怎样能返回所有的数据呢,现在是直接在 sql 里变成“where 字段 IS NULL”了
    5 replies  •  2022-03-25 08:39:28 +08:00
    knightdf
    knightdf
    Jan 7, 2020
    1
    ```python
    filters = []
    if xxx is not None:
    filters.append(Model.attr == xxx)
    .query.filter(*filters).xxxx
    ```
    hp66722667
    hp66722667
    Jan 7, 2020
    2
    通过 if 判断一下字段,不就可以随便拼接 sql 语句了么
    6167
    6167
    Jan 7, 2020
    3
    ```
    if not xxx:
    data = Xxx.query.all()
    ```
    SjwNo1
    SjwNo1
    Jan 7, 2020
    4
    你都用 SQLAlchemy 了~~
    '''
    if cond is None:
    objs = Xxx.query.all()
    '''
    luckyc
    luckyc
    Mar 25, 2022
    5
    ```
    filters = [OrderModel.date == date] if isinstance(date, str) else [OrderModel.date.in_(date)]
    filters += [OrderModel.type.in_(type)] if type else []
    filters += [OrderModel.successed == successed] if successed else []
    order_list = OrderModel.query.filter(*filters).all()
    order_name = [f.name for f in order_list]
    return list(set(order_name))


    ```
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   2093 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 35ms · UTC 11:26 · PVG 19:26 · LAX 03:26 · JFK 06:26
    ♥ Do have faith in what you're doing.