flask中的部分查询操作
filter
比较
filter中支持 python中的所有比较运算符:==、!=、>、<、>=、<=
from flask_restful import Resource, reqparse, marshal_with
from .models import Goods
from .fields import goods_fields
class GoodsView(Resource):
注意: 过滤完成之后,还需要调用
all()获取 查询的 结果
逻辑
from flask_restful import Resource, reqparse, marshal_with
from .models import Goods
from .fields import goods_fields
from sqlalchemy import or_, and_, not_
class GoodsView(Resource):
from flask_restful import Resource, reqparse, marshal_with
from .models import Goods
from .fields import goods_fields
from sqlalchemy import or_, and_, not_
class GoodsView(Resource):
模型类.query.filter(模型类.字段 > 值).all(): 比较查询,支持所有比较运算符
模型类.query.filter(or_(条件1, 条件2)).all(): 满足任何一个条件即可
模型类.query.filter(and_(条件1, 条件2)).all(): 满足全部条件即可
模型类.qery.filter(模型类.字段.in_([1, 2, 3, 4])): 查询某个字段是否 在某个 集合中,用来实现 批量操作
判断
# 查询库存不为空 的商品信息
goods = Goods.query.filter(not_(Goods.stock.is_(None))).all()
goods = Goods.query.filter(~(Goods.stock.is_(None))).all()
# id在某个区间的商品信息
goods = Goods.query.filter(Goods.id.in_([1, 3, 6, 7])).all()
模糊查询
from flask_restful import Resource, reqparse, marshal_with
from .models import Goods
from .fields import goods_fields
class GoodsView(Resource):
排序
from flask_restful import Resource, reqparse, marshal_with
from .models import Goods
from .fields import goods_fields
from sqlalchemy import desc, asc
class GoodsView(Resource):
desc(字段): 按照字段 降序排序
asc(字段): 按照字段升序排序,不写asc也是升序排序

浙公网安备 33010602011771号