23

のORMSQLAlchemyに加えて誰かが使用しましたか?Django

オブジェクトマニピュレーションにはDjangoのORMを使用し、複雑なクエリ(左外部結合が必要なクエリなど)にはSQLalchemyを使用したいと思います。

出来ますか?

注:私は知ってdjango-sqlalchemyいますが、プロジェクトは本番環境に対応していないようです。

4

5 に答える 5

19

私は何をするだろう、

  1. Django orm でスキーマを定義し、syncdb 経由で db を書き込みます。管理インターフェイスが表示されます。

  2. view1 では、複雑な結合が必要です


    def view1(request):
       import sqlalchemy
       data = sqlalchemy.complex_join_magic(...)
       ...
       payload = {'data': data, ...}
       return render_to_response('template', payload, ...)

于 2009-07-20T19:21:06.577 に答える
7

以前やったことがありますが大丈夫です。スキーマを読み込むことができる SQLAlchemy 機能を使用すると、フィールドを 2 回宣言する必要がなくなります。

設定から接続設定を取得できます。唯一の問題は、postgres ドライバーのさまざまなフレーバーのようなものです (たとえば、psyco を使用する場合と使用しない場合)。

SQLAlchemy のものは結合のようなものにとって非常に優れているので、それだけの価値があります。

于 2010-08-24T10:45:36.613 に答える
7

両方を使用するのは良い習慣ではないと思います。次のいずれかを行う必要があります。

  1. Django の ORM を使用し、Django の組み込み SQL 生成がニーズを満たさない場合はカスタム SQL を使用します。または
  2. SQLAlchemy を使用し (これにより、複雑さが増しますが、より細かく制御できます)、必要に応じて、Elixirなどの宣言型レイヤーを使用して、作業を少し楽にします。

もちろん、Django の管理者が必要な場合は、これらのアプローチの最初の方法をお勧めします。

于 2009-07-20T17:54:00.343 に答える
4

JacobKaplan-Mossは時々「importsqlalchemy」と入力することを認めました。sqlalchemyの結果のためのクエリセットアダプタを、それほど遠くない将来に書くかもしれません。

于 2009-08-20T20:47:20.587 に答える