【发布时间】:2016-09-23 20:32:22
【问题描述】:
我正在编写一个网络应用程序,其中数据库查询来自两个选择框,一个是关于sex,另一个是关于class_type。在我的代码中,我有一个具有以下形式的基本查询
q = User.query.with_entities(*(getattr(User, col) for col in cols))
并且根据sex和class_type是否被选为all,我破例如下
if sex=='all' and class_type=='all':
rows = q.all()
elif sex=='all' and class_type!='all':
rows = q.filter_by(class_type=class_type)
elif sex!='all' and class_type=='all':
rows = q.filter_by(sex=sex)
else:
rows = q.filter_by(sex=sex, class_type=class_type)
有没有更好的方法来编写这个逻辑?
【问题讨论】:
标签: python sql sqlalchemy flask-sqlalchemy