Flask sqlalchemyで1対多のモデルを注文しますか?

rublex

ユーザーが検索を絞り込むことができる特定のクエリを作成しようとしています。著者と本の間には1対多の関係があります。

class Author(Model):
    id = Column(Integer, primary_key=True)
    name = Column(String)
    books = relationship('Book', backref='author', lazy='dynamic')

class Book(Model):
    id = Column(Integer, primary_key=True)
    title = Column(String)
    pages = Column(Integer, default=0)
    is_published = Column(Boolean, default=False)
    author_id = Column(Integer, ForeignKey('author.id'))

この質問に答えるFlasksqlalchemyで適切なクエリを作成するにはどうすればよいですか?

少なくとも1冊の本を出版しているすべての著者を教えてください。すべての著者を本のページ数で短いものから長いものの順に並べ替えてください。

他にもっと長い本があるかどうかに関係なく、著者は最短の本だけでソートされると思います。

例:

Bob
   book A: 62 pages, published
   book B: 10 pages, published

Alice 
   book C: 100 pages, published
   book D: 1 pages, published

Carol
   book E: 3 pages, NOT-published
   book F: 1000 pages, published

Eve
   book G: 2000 pages, NOT-published

クエリは、次の順序で作成者を返します。

  [ Alice, Bob, Carol ]

アリスの出版本は最短(1ページ)であるため、ボブの出版本は2番目に短く(10ページ)、キャロルの出版本は最長(1000ページ)です。イブは出版された本を持っていないので言及されません。

Eelke

次のことを試してください。

session.query(Author)
    .join(Author.books)
    .filter(Book.is_published == True)
    .group_by(Author.id)
    .order_by(func.min(Book.pages))    

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

Flask-SQLAlchemyモデルクエリを1対多の子行の数で並べ替えますか?

分類Dev

モデルユーザーとそれ自体のSQLAlchemy(python、flask)で多対多の関係を作成する方法

分類Dev

多対多のテーブルflask-sqlalchemyにリレーション関連の列を追加しますか?

分類Dev

親モデルとの多対多の関係に対するFlask-SQLAlchemyフィルター

分類Dev

Flask、SqlAlchemyで1対1の関係の「insert_id」を取得します

分類Dev

既存のsqlalchemyモデルでflask-sqlalchemyを使用する方法は?

分類Dev

どうすればflask-sqlalchemyとの多対多の関係を複数回挿入できますか?

分類Dev

Flask SqlAlchemy多対多の関係は、関係名でアクセスしたときに1つの結果のみを返します

分類Dev

Flask-SQLAlchemy:1対多の関係を更新する

分類Dev

Flask-Adminで1対多の関係の最初の要素を表示します

分類Dev

Flaskの内外でSQLAlchemyモデルを使用する

分類Dev

Flask-SQLAlchemy create_allは、作成するモデルをどのように検出しますか?

分類Dev

Flask + SQLAlchemyで1対1の関係を設定する

分類Dev

Flask-SQLAlchemy、多対多のテーブルデータをクエリする方法

分類Dev

Flask Adminの*対多の関係でモデルビューでカスタムクエリを実行するにはどうすればよいですか?

分類Dev

SqlAlchemyとFlask、多対多の関係をクエリする方法

分類Dev

Flask-SQLAlchemyが1対多のレコードを更新

分類Dev

Flask-Sqlalchemyを使用していくつかのモデルからさまざまなテーブルを作成します

分類Dev

Flask sqlalchemy多対多挿入データ

分類Dev

Flask内でモデルをモックしようとする際の問題-SQLAlchemy

分類Dev

Flaskでの1対1の関係-SQLAlchemyは一方向でのみ機能します

分類Dev

Flaskを使用した複雑な多対多クエリ-SQLAlchemy

分類Dev

Flask SQLAlchemy複数の結合パスと1対多の関係

分類Dev

Flask + Mongoengineがdbモデルに完全に対応していないdbアイテムを表示できないのはなぜですか?

分類Dev

Flask内のファイルによってSQLAlchemyモデルを分離する

分類Dev

Flask内のファイルによってSQLAlchemyモデルを分離する

分類Dev

Flask / SQLAlchemy-多対多の関係の関連付けモデルと関連付けテーブルの違いは?

分類Dev

多対多の関係で作業しているときにクエリでオブジェクトを返すFlask-SQLAlchemy

分類Dev

Flask SQLAlchemy-一致する多対多オブジェクトの数に基づいて、重み/スコアで結果を並べ替えます

Related 関連記事

  1. 1

    Flask-SQLAlchemyモデルクエリを1対多の子行の数で並べ替えますか?

  2. 2

    モデルユーザーとそれ自体のSQLAlchemy(python、flask)で多対多の関係を作成する方法

  3. 3

    多対多のテーブルflask-sqlalchemyにリレーション関連の列を追加しますか?

  4. 4

    親モデルとの多対多の関係に対するFlask-SQLAlchemyフィルター

  5. 5

    Flask、SqlAlchemyで1対1の関係の「insert_id」を取得します

  6. 6

    既存のsqlalchemyモデルでflask-sqlalchemyを使用する方法は?

  7. 7

    どうすればflask-sqlalchemyとの多対多の関係を複数回挿入できますか?

  8. 8

    Flask SqlAlchemy多対多の関係は、関係名でアクセスしたときに1つの結果のみを返します

  9. 9

    Flask-SQLAlchemy:1対多の関係を更新する

  10. 10

    Flask-Adminで1対多の関係の最初の要素を表示します

  11. 11

    Flaskの内外でSQLAlchemyモデルを使用する

  12. 12

    Flask-SQLAlchemy create_allは、作成するモデルをどのように検出しますか?

  13. 13

    Flask + SQLAlchemyで1対1の関係を設定する

  14. 14

    Flask-SQLAlchemy、多対多のテーブルデータをクエリする方法

  15. 15

    Flask Adminの*対多の関係でモデルビューでカスタムクエリを実行するにはどうすればよいですか?

  16. 16

    SqlAlchemyとFlask、多対多の関係をクエリする方法

  17. 17

    Flask-SQLAlchemyが1対多のレコードを更新

  18. 18

    Flask-Sqlalchemyを使用していくつかのモデルからさまざまなテーブルを作成します

  19. 19

    Flask sqlalchemy多対多挿入データ

  20. 20

    Flask内でモデルをモックしようとする際の問題-SQLAlchemy

  21. 21

    Flaskでの1対1の関係-SQLAlchemyは一方向でのみ機能します

  22. 22

    Flaskを使用した複雑な多対多クエリ-SQLAlchemy

  23. 23

    Flask SQLAlchemy複数の結合パスと1対多の関係

  24. 24

    Flask + Mongoengineがdbモデルに完全に対応していないdbアイテムを表示できないのはなぜですか?

  25. 25

    Flask内のファイルによってSQLAlchemyモデルを分離する

  26. 26

    Flask内のファイルによってSQLAlchemyモデルを分離する

  27. 27

    Flask / SQLAlchemy-多対多の関係の関連付けモデルと関連付けテーブルの違いは?

  28. 28

    多対多の関係で作業しているときにクエリでオブジェクトを返すFlask-SQLAlchemy

  29. 29

    Flask SQLAlchemy-一致する多対多オブジェクトの数に基づいて、重み/スコアで結果を並べ替えます

ホットタグ

アーカイブ