問題タブ [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.
python - SQLAlchemy宣言型構文を使用してリレーションを指定するにはどうすればよいですか?
SQLAlchemyの宣言型構文を使用してリレーションを指定する方法に関する適切なドキュメントが見つかりません。サポートされていませんか?つまり、「従来の」構文を使用する必要がありますか?
外部キーなどをいじる必要がないように、より高いレベルで関係を指定する方法を探しています。「addresses = OneToMany(Address)」と宣言し、フレームワークに詳細を処理させたいと思います。 Elixirはそれを実行できますが、「プレーンな」SQLAでも実行できるかどうか疑問に思いました。
ご協力いただきありがとうございます!
python - SQLAlchemy を使用して、遅延リレーションがまだ読み込まれていないかどうかを確認する方法は?
SQLAlchemy を使用して、リレーションが遅延ロードされるかどうかを事前に知る方法はありますか?
たとえば、怠惰な親 - >子関係と「親」のインスタンス X が与えられた場合、クエリをトリガーせずに「X.children」が既にロードされているかどうかを知りたいと思います。
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 として使用する方法はありますか?
python - SQLAlchemyORMを使用してデータベースを効率的に更新する
私は新しいアプリケーションを開始し、ORM、特にSQLAlchemyの使用を検討しています。
データベースに列「foo」があり、それをインクリメントしたいとします。ストレートsqliteでは、これは簡単です。
私はSQLAlchemySQL-builderに相当するものを見つけました:
これは少し遅いですが、それほど多くはありません。
SQLAlchemyORMアプローチの私の最良の推測は次のとおりです。
これは正しいことですが、他の2つのアプローチの50倍弱かかります。これは、すべてのデータを処理する前にメモリに取り込む必要があるためだと思います。
SQLAlchemyのORMを使用して効率的なSQLを生成する方法はありますか?または他のPythonORMを使用していますか?それとも、SQLを手作業で作成することに戻る必要がありますか?
python - Postgresの「お金」と「OID」に対応するsqlalchemyの列タイプは何ですか?
Postgresの「money」および「OID」列タイプに対応するsqlalchemyの列タイプは何ですか?
python - SQLAlchemy モデルを含むフォルダーを整理する最良の方法
私は仕事でSQLAlchemyを使用していますが、本当にうまく機能します。今、私はベストプラクティスについて考えています。
今のところ、すべての SQLA を保持するモジュールを作成します。
今、それが最善の方法であるかどうかは本当にわかりません。クラスを細かい粒度でロードし、データベースなどとの接続を1つだけ作成したいと思います。
ここでは、すべてのクラスが分離されていますが、すべて _config をインポートし、それが良いことなのかどうか疑問に思っています。
さらに、毎回マッパーを台無しにすることなく、独立して格納できるモデル クラスのサブクラスを作成できるようにしたいと考えています。どうやってやるの ?
今のところ、それらを同じファイルに入れただけで、別のマッパーを作成する必要がありますが、最初のマッパーは引き続き毎回呼び出されます。マッパーはインポート時にトリガーされるため、親クラスをインポートする必要がある場合も同じです。クラスを使用してデータにアクセスしないと、毎回マップするのが過熱しませんか?
私もElixirの使用は避けたいです。
python - SQLAlchemy で演算表現を ORDER BY するにはどうすればよいですか?
このようなものを SQLAlchemy に変換するにはどうすればよいですか?
python - ORM を使用した count、group_by、および order_by による SQLAlchemy
count()、group_by、および order_by を使用して、1 対多の結合を行う必要がある関数がいくつかあります。私は sqlalchemy.select 関数を使用して一連の ID を返すクエリを生成し、それを反復処理して個々のレコードに対して ORM 選択を行います。私が疑問に思っているのは、単一のクエリで ORM を使用して必要なことを実行し、反復を行う必要がないようにする方法があるかどうかです。
これが私が今やっていることの例です。この場合、エンティティは Location と Guide で、1 対多にマッピングされます。関連するガイドの数でソートされた上位の場所のリストを取得しようとしています。
解決
これを行うための最良の方法を見つけました。from_statement
a の代わりに afilter_by
またはそのようなものを指定するだけです。そのようです:
python - Mysql 接続プーリングの質問: それだけの価値はありますか?
mysql の接続プロセスは他の RDBMS に比べて非常に高速になるように設計されているため、接続プールを提供するライブラリ(SQLAlchemy) を使用しても、接続プールを有効にすると実際にはそれほど役に立たないという話を聞いたことがあります。
誰もこれについて経験がありますか?
一部のコードが db 接続に対してステートフルな処理を行っており、(おそらく誤って) それ自体がクリーンアップされない場合、通常は接続を閉じるときにクリーンアップされる状態が代わりに再利用された接続を取得する後続のコードに伝播されます。