モデルにページネーション機能を追加する作業を行っています。ミックスインのメソッドでこれを行うことができます。このコンテキストでのページネーションとは何かを理解していると思いますが、クエリを追加して、モデルメソッドをハードコーディングしたり、ミックスインを使用したりせずに、好きな場所にページネーションを渡すことができるようにしようとしています。 :
Mymodel.query.filter(Mymodel.attr=='X').paginate(**args, **kwargs)
フラスコ sqlalchemy はこれを行いますが、私はそれを使用していませんが、機能の一部を抽出しようとしました。
したがって、このメソッドのようなものがある場合:
def paginate(self, page, per_page=20):
items = self.limit(per_page).offset((page - 1) * per_page).all()
return Pagination(self, page, per_page, self.count(), items)
sqlalchemy クエリ チェーンの内外にインターフェイスを持つものとして挿入するにはどうすればよいですか? 私はそれがflask-sqlalchemyでどのように行われているかについては多少従いますが、これを行う方法を抽出/学習し、将来的にクエリをより詳細に制御し、sqlalchemyの使用を改善したいので、正確にはわかりません質問をして、そこから進んでいきます。
長い答え: 理解が深まるまで、sqlalchemy のドキュメントとコードを読み続けることです。私はorm.Queryを拡張しようとしています-私はこれを行いましたが、sqlalchemyの基礎となる仕組みを理解していないため、これをプロジェクトに結び付ける方法がまだわかりませんが、必要だと思います使用している宣言ベース Base にページネーション クエリを追加しますが、作業に戻ると表示されます。