問題タブ [sqlalchemy]

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 投票する
2 に答える
4108 参照

python - SQLAlchemy宣言型構文を使用してリレーションを指定するにはどうすればよいですか?

SQLAlchemyの宣言型構文を使用してリレーションを指定する方法に関する適切なドキュメントが見つかりません。サポートされていませんか?つまり、「従来の」構文を使用する必要がありますか?
外部キーなどをいじる必要がないように、より高いレベルで関係を指定する方法を探しています。「addresses = OneToMany(Address)」と宣言し、フレームワークに詳細を処理させたいと思います。 Elixirはそれを実行できますが、「プレーンな」SQLAでも実行できるかどうか疑問に思いました。
ご協力いただきありがとうございます!

0 投票する
3 に答える
3549 参照

python - SQLAlchemy を使用して、遅延リレーションがまだ読み込まれていないかどうかを確認する方法は?

SQLAlchemy を使用して、リレーションが遅延ロードされるかどうかを事前に知る方法はありますか?
たとえば、怠惰な親 - >子関係と「親」のインスタンス X が与えられた場合、クエリをトリガーせずに「X.children」が既にロードされているかどうかを知りたいと思います。

0 投票する
3 に答える
2346 参照

python - SQLAlchemy との関係に自動フィルターを追加するには?

私は SQLAlchemy 0.5rc を使用しています。リレーションに自動フィルターを追加して、そのリレーションのレコードを取得しようとするたびに、"logically_deleted " (子テーブルのブール フィールド)

たとえば、オブジェクト「親」に 3 つのレコードを持つ「子」リレーションがあり、そのうちの 1 つが論理的に削除されている場合、「親」をクエリすると、SQLA で 2 つの子だけを持つ親オブジェクトを取得したいと思います。 .
どうすればいいですか?リレーションの primaryjoin パラメータに「and」条件を追加することによって? (例:「Children.parent_id == Parent.id and Children.logically_deleted == False」ですが、「and」はこのように書くのが正しいですか?)

編集:
私はこの方法でそれを行うことができました

しかし、代わりに文字列を primaryjoin として使用する方法はありますか?

0 投票する
6 に答える
204814 参照

python - SQLAlchemyORMを使用してデータベースを効率的に更新する

私は新しいアプリケーションを開始し、ORM、特にSQLAlchemyの使用を検討しています。

データベースに列「foo」があり、それをインクリメントしたいとします。ストレートsqliteでは、これは簡単です。

私はSQLAlchemySQL-builderに相当するものを見つけました:

これは少し遅いですが、それほど多くはありません。

SQLAlchemyORMアプローチの私の最良の推測は次のとおりです。

これは正しいことですが、他の2つのアプローチの50倍弱かかります。これは、すべてのデータを処理する前にメモリに取り込む必要があるためだと思います。

SQLAlchemyのORMを使用して効率的なSQLを生成する方法はありますか?または他のPythonORMを使用していますか?それとも、SQLを手作業で作成することに戻る必要がありますか?

0 投票する
3 に答える
10042 参照

python - Postgresの「お金」と「OID」に対応するsqlalchemyの列タイプは何ですか?

Postgresの「money」および「OID」列タイプに対応するsqlalchemyの列タイプは何ですか?

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

python - SQLAlchemy モデルを含むフォルダーを整理する最良の方法

私は仕事でSQLAlchemyを使用していますが、本当にうまく機能します。今、私はベストプラクティスについて考えています。

今のところ、すべての SQLA を保持するモジュールを作成します。

今、それが最善の方法であるかどうかは本当にわかりません。クラスを細かい粒度でロードし、データベースなどとの接続を1つだけ作成したいと思います。

ここでは、すべてのクラスが分離されていますが、すべて _config をインポートし、それが良いことなのかどうか疑問に思っています。

さらに、毎回マッパーを台無しにすることなく、独立して格納できるモデル クラスのサブクラスを作成できるようにしたいと考えています。どうやってやるの ?

今のところ、それらを同じファイルに入れただけで、別のマッパーを作成する必要がありますが、最初のマッパーは引き続き毎回呼び出されます。マッパーはインポート時にトリガーされるため、親クラスをインポートする必要がある場合も同じです。クラスを使用してデータにアクセスしないと、毎回マップするのが過熱しませんか?

私もElixirの使用は避けたいです。

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

python - SQLAlchemy で演算表現を ORDER BY するにはどうすればよいですか?

このようなものを SQLAlchemy に変換するにはどうすればよいですか?

0 投票する
3 に答える
12380 参照

python - ORM を使用した count、group_by、および order_by による SQLAlchemy

count()、group_by、および order_by を使用して、1 対多の結合を行う必要がある関数がいくつかあります。私は sqlalchemy.select 関数を使用して一連の ID を返すクエリを生成し、それを反復処理して個々のレコードに対して ORM 選択を行います。私が疑問に思っているのは、単一のクエリで ORM を使用して必要なことを実行し、反復を行う必要がないようにする方法があるかどうかです。

これが私が今やっていることの例です。この場合、エンティティは Location と Guide で、1 対多にマッピングされます。関連するガイドの数でソートされた上位の場所のリストを取得しようとしています。

解決

これを行うための最良の方法を見つけました。from_statementa の代わりに afilter_byまたはそのようなものを指定するだけです。そのようです:

0 投票する
5 に答える
10794 参照

python - Mysql 接続プーリングの質問: それだけの価値はありますか?

mysql の接続プロセスは他の RDBMS に比べて非常に高速になるように設計されているため、接続プールを提供するライブラリ(SQLAlchemy) を使用しても、接続プールを有効にすると実際にはそれほど役に立たないという話を聞いたことがあります。

誰もこれについて経験がありますか?

一部のコードが db 接続に対してステートフルな処理を行っており、(おそらく誤って) それ自体がクリーンアップされない場合、通常は接続を閉じるときにクリーンアップされる状態が代わりに再利用された接続を取得する後続のコードに伝播されます。