- 核心技术
实现查询免费课程和收费课程的功能,需要根据设置过滤条件。Flask_SQLAlchemy的查询过滤器如表1所示。
表1 SQLAlchemy查询过滤器
过滤器 | 返回结果 |
filter() | 把过滤器添加到原查询上,返回一个新查询 |
filter_by() | 把等值过滤器添加到原查询上,返回一个新查询 |
limit | 使用指定的值限定原查询返回的结果 |
offset() | 偏移原查询返回的结果,返回一个新查询 |
order_by() | 根据指定条件对原查询结果进行排序,返回一个新查询 |
group_by() | 根据指定条件对原查询结果进行分组,返回一个新查询 |
- 使用filter_by()函数过滤免费课程。
filter_by()函数把等值过滤器添加到原查询上,返回一个新查询。示例代码如下:
- free_course = Course.query.filter_by(original_price=0).order_by(
- desc(Course.learner_count)).limit(6).all()
- 使用filter()函数过滤收费课程。
filter()函数把过滤器添加到原查询上,返回一个新查询。示例代码如下:
- hot_course = Course.query.filter(
- Course.original_price != 0).order_by(
- desc(Course.learner_count)).limit(6).all()