1. ホーム
  2. python

[解決済み] .one()と.scalar()の違いは何ですか?

2022-02-04 21:21:30

質問

との主な違いは何ですか? .one().scalar() を、SQLAlchemy の中で、どちらも同じ仕事をしているものとして扱います。

のようなサイトも見かけました。 チュートリアルポイント.com しかし、その説明だけではよくわからない。

どのように解決するのですか?

SQLAlchemy には素晴らしいドキュメントがあります。

one()

正確に1つの結果を返すか、例外を発生させる。

クエリが行を選択しなかった場合、sqlalchemy.orm.exc.NoResultFoundを発生します。 複数のオブジェクトがある場合、sqlalchemy.orm.exc.MultipleResultsFound を発生します。 の ID が返された場合、またはクエリ を使用する場合、完全なIDマップではなくスカラー値のみを返します。 エンティティを返します。

リンク先 1 メソッド

scalar()

最初の結果の最初の要素、または行がない場合は None を返します。 が存在します。複数の行が返された場合、MultipleResultsFound を発生させます。

リンク先 スカラ() メソッドを使用します。

に関連した質問がある場合は SQLAlchemy まず最初に、ドキュメントをチェックすることをお勧めします。