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

2020-01-07 12:52:35 +08:00
 hosinokamui
如果条件为 None,怎样能返回所有的数据呢,现在是直接在 sql 里变成“where 字段 IS NULL”了
2918 次点击
所在节点    Flask
5 条回复
knightdf
2020-01-07 13:17:10 +08:00
```python
filters = []
if xxx is not None:
filters.append(Model.attr == xxx)
.query.filter(*filters).xxxx
```
hp66722667
2020-01-07 16:55:25 +08:00
通过 if 判断一下字段,不就可以随便拼接 sql 语句了么
6167
2020-01-07 17:00:52 +08:00
```
if not xxx:
data = Xxx.query.all()
```
SjwNo1
2020-01-07 17:04:26 +08:00
你都用 SQLAlchemy 了~~
'''
if cond is None:
objs = Xxx.query.all()
'''
l4ever
2022-03-25 08:39:28 +08:00
```
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))


```

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/635753

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX