n個の結果のみを返すSQLAlchemyクエリ?


90

私はSQLAlchemyのドキュメントをグーグルで読んでいますが、探しているものが見つかりません。

クエリによって返される結果の数を特定の数に制限するSQLAlchemyの関数を探しています。例:5?first()またはのようなものall()

回答:


166

制限方法をsqlalchemy >= 1.0.13 使用します

query.(Model).filter(something).limit(5).all()

私はこの方法を他の方法よりも好みますが、余分なデータがネットワークを介して渡されないため、より
スリム

10

代替構文

query.(Model).filter(something)[:5].all()

2
SQLAlchemyの== 1.1.15、昇給:AttributeError: 'list' object has no attribute 'all'
Waket鄭

1
このクエリを使用します。クエリ(モデル).filter(何か).limit(5)これはSQLAlchemyの== 1.1.15で正常に動作します。
ラナ

2
[:5]を実行すると、データベースは引き続きすべての結果をプルし、最後の5つのみを使用すると思います。データベースが余分なデータを返さないように制限を使用することをお勧めします。
ブライアンサイズモア

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.