Flask筛选数据、分页、一对多关联

本文介绍了如何在Flask应用中进行数据筛选,包括使用各种运算符如lt、gt等进行条件过滤,以及运用order_by进行排序。同时,文章详细讲解了分页操作,利用paginate对象实现页面导航。此外,还阐述了一对多关联关系的设置和使用,展示了如何在模型中定义relationship字段,并通过one对象获取many对象以及反之。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

flask筛选数据

添加多条学生信息

  • s_list = [学生对象1, 学生对象2,..]
  • db.session.add_all(s_list)

运算符

  • filter(模型名.字段.运算符(‘xxx’))
  • filter(模型名.字段 运算符 值 )

  • 运算符

  • lt 小于

  • le 小于等于

  • gt 大于

  • ge 大于等于

  • in_ 在范围内

  • order_by 排序

  • limit 截取几个信息

  • offset 跳过几个信息

  • get 获取主键对应的信息

  • and_ 并且条件

  • or_ 或者条件

  • not_ 非


from flask_sqlalchemy import SQLAlchemy

db = SQLAlchemy()


class Student(db.Model):

    s_id = db.Column(db.Integer, primary_key=True, autoincrement=True)
    s_name = db.Column(db.String(20), unique=True)
    s_age = db.Column(db.Integer, default=18)

    __tablename__ = 'student'

    # 初始化,通过这种方式就可以直接通过传参数的方式,创建数据
    def __init__(self, name, age):

        self.s_name = name
        self.s_age = age
import random

from flask import Blueprint, render_template, request
# 注意导入的包
from sqlalchemy import and_, or_, not_

from Stu.models import db, Student

stu = Blueprint('stu', __name__)


@stu.route('/')
def index():
    return render_template('index.html')


@stu.route('/createdb')
def create_db():
    db.create_all()
    return '创建数据库成功'


@stu.route('/dropdb')
def drop_db():
    db.drop_all()
    return '删除数据库成功,可以跑路了'


@stu.route('/createstu', methods=['GET', 'POST'])
def create_stu():
    if
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值