赞
踩
db.session.query:
#查询TestCase 模型类中id = 137 的数据 db.session.query(TestCase).filter(TestCase.id == 137).first()
<模型类>.query.<过滤方法>
#查询TestCase 模型类中id = 137 的数据
query2 = TestCase.query.filter(TestCase.id==137).first()
db.session.query(Note).filter(Note.body.like('%foo%'))
db.session.query(Note).filter(Note.body.in_(['foo', 'bar', 'baz']))
db.session.query(Note).filter(~Note.body.in_(['foo', 'bar', 'baz']))
-
from sqlalchemy
import and_
-
CaseSuitMiddle.query.
filter(and_(CaseSuitMiddle.plan_id == plan_id, CaseSuitMiddle.case_id == tc))
-
# 或在filter()中加入多个表达式,使用逗号分隔
-
filter(Note.body ==
'foo', Note.title ==
'FooBar')
-
# 或叠加调用多个filter()/filter_by()方法
-
filter(Note.body ==
'foo').
filter(Note.title ==
'FooBar')
-
from sqlalchemy
import or_
-
filter(or_(Note.body ==
'foo', Note.body ==
'bar'))
-
和
filter()方法相比,filter_by()方法更易于使用:
-
Note.query.filter_by(body=
'SHAVE').first()
1.
-
# 查询Note中title等于测试的数据总数
-
db.session.query(Note).
filter(Note.title==
"测试").count()
2.进行优化后的func.count()函数: 无子查询,效率高
-
from sqlalchemy
import func
-
-
#统计TestCase 中 run_state 等于pass 的数据总数
-
case_pass_amount = db.session.query(func.count(TestCase.
id)).
filter(TestCase.run_state ==
'pass').scalar()
-
# 查询TestCase模型中test_interface_adree字段,过滤不为None的数据,然后with_entities去重test_interface_adree值
-
test_interfaces = db.session.query(TestCase.test_interface_adree).
filter(
-
TestCase.test_interface_adree !=
None).with_entities(
-
TestCase.test_interface_adree).distinct().
all()
-
-
打印出查询结果:
-
[(
'/organize/organize.organizeTree.do',), (
'/test/addUser',)]
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。