gpt4 book ai didi

python - 改组 SQLAlchemy 结果?

转载 作者:太空狗 更新时间:2023-10-30 01:59:50 27 4
gpt4 key购买 nike

有问题的代码:

 random_items = random.shuffle(Item.query.all())[20:30]

它在 Flask/SQLAlchemy 应用程序中。Item 是模型。

这就是我现在正在做的并且它有效,但我预见到当我开始使用真实数据集时会发生灾难。

如何正确执行此操作?

最佳答案

我不完全确定你的担忧。是不是您将返回一个大型数据集,因此大型列表将在内存中进行操作?

如果是这样,如果您不太担心可移植性,则可以在 SQL 语句中执行此操作;即,如果您使用的是 MySQL,您可以:

from sqlalchemy.sql.expression import func
Item.query.order_by(func.rand()).offset(20).limit(10).all()

或者,在 PostgreSQL 中:

from sqlalchemy.sql.expression import func
Item.query.order_by(func.random()).offset(20).limit(10).all()

其他数据库也有类似的机制,因此调用的函数将取决于您的目标。当然,如果您正在尝试编写可以在任何 SQLAlchemy 后端上运行的通用应用程序,您可能需要坚持使用提供的示例。

关于python - 改组 SQLAlchemy 结果?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11005391/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com