优汇林
登录
AI工具导航

班级按名字排序

网友分享282025-01-12 18:30:13
from sqlalchemy import func
# 假定 classes 已经被定义且是一个有效的 ID 列表
banji_data = System_banji.query.filter(
    System_banji.id.in_(classes),
    System_banji.is_leave == 0
).order_by(
    func.substr(System_banji.banji, 1, 6).desc(),
    func.substr(System_banji.banji, 7).asc()
).all()
# 处理结果
for item in banji_data:
    print(item)
这是一个使用 SQLAlchemy 的查询,目的是从 System_banji 表中筛选和排序数据。下面是代码的逐步解释以及一些可能的优化或注意事项:

代码解释

1.查询构建
System_banji.query.filter(
    System_banji.id.in_(classes),
    System_banji.is_leave == 0
)
  • 这个查询从 System_banji 表中筛选出 idclasses 列表中的记录,并且 is_leave 字段等于 0(表示未离开)。
2.排序
.order_by(
    func.substr(System_banji.banji, 1, 6).desc(),  # 降序排序,提取前6个字符
    func.substr(System_banji.banji, 7).asc()      # 升序排序,提取从第7个字符到结束的部分
)
  • 使用 func.substr 提取字符串的子串,以 banji 字段的前6个字符进行降序排序,然后按第7个字符之后的部分进行升序排序。
    本文转载自互联网,如有侵权,联系删除。

    本文链接:https://www.youhuilin.com/html/56.html

    图片名称

    相关内容

    分享

    复制链接

    优汇林在线咨询

    上班时间:9:00-22:00
    周六、周日:14:00-22:00