問題タブ [gino]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
1561 参照

python - Python Gino でのプール接続の取得 (非同期)

asyncio+ asyncpg+ gino(ORM 風) + aiohttp(ルーティング、Web 応答)で Postgres、Python3.7 を使用しています。

usersデータベースに小さな postgres テーブルを作成しtestdb、単一の行を挿入しました。

リクエストが入ったときにルート内でORMを利用できるようにデータベースをセットアップしようとしています.

出力は次のとおりです。

これは奇妙です。「明示的な」コードは、基本的SELECTにデータベースに対して実行されますが、これは役に立ちません。

ドキュメントには、1) ORM を使用する方法と、2) プールからの接続を明示的にチェックアウトする方法が見つかりません。

私が持っている質問:

  1. await User.query.gino.all()プールから接続をチェックアウトしますか? どのようにリリースされますか?
  2. クエリをトランザクションでラップするにはどうすればよいですか? プールから接続をいつ/どこで取得し、どのように解放するかを明示的に制御できないことに不安を感じています。

私は基本的に、test_engine_explicit()Gino で動作するスタイルの明示性を望んでいますが、Gino ORM がどのように機能するかを理解していないだけかもしれません。

0 投票する
1 に答える
47 参照

sql - postgres - 指定されたテーブルに一致するペアが存在するかどうかを効率的に見つける方法

gino sqlalchemy を使用して、特定の入力「名前」と「グループ」のマッピング テーブルで id_a と id_b の間に関連付けが存在するかどうかを確認する必要があります。

例:

  1. 入力 '/foo/'、'/foo/1'、'app1' の場合 --> 一致成功。
  2. 入力 '/bar/2'、'/foo/abc/def'、'app1' の場合 --> 一致成功。
  3. 入力 '/foo3/'、'/bar3/'、'app2' の場合 --> 一致は失敗します。