这在很大程度上是特定于数据库的问题。
我知道PostgreSQL,SQLite,MySQL和Oracle可以通过随机函数进行排序,因此可以在SQLAlchemy中使用它:
from sqlalchemy.sql.expression import func, selectselect.order_by(func.random()) # for PostgreSQL, SQLiteselect.order_by(func.rand()) # for MySQLselect.order_by('dbms_random.value') # For Oracle接下来,您需要通过所需的记录数来限制查询(例如使用
.limit())。
请记住,至少在PostgreSQL中,选择随机记录会带来严重的性能问题。这是一篇很好的文章。



