Elixir 0.7.1 と SQLAlchemy 0.7.8 を使用して、次のような多対多の関係を持つモデルを作成しました。
from elixir import *
class MyModel(Entity):
name = Field(Unicode(30))
related = ManyToMany('MyModel')
さて、これらについて任意のクエリがある場合は、次のように言います
q1 = MyModel.query.filter(MyModel.name.like("%Bob%"))
次に、 内のオブジェクトのいずれかに関連する個別の MyModel オブジェクトのフラット リストを返す別のクエリを作成したいと考えていますq1。つまり、もし私が持っていたら
q1.all() == [m1, m2, m3]
次に、 、、の結合で構成されるフラット リストを返すクエリq2(おそらくサブクエリとして) が必要です。これは、最初に実行してから、残りを Python リスト操作にドロップダウンするだけで簡単に実行できますが、多くのオブジェクトを返す場合は、より高速な方法があるようです。これを行う方法について何か考えはありますか?多対多の関係のために、Elixir によって生成された中間テーブルに対して何らかの結合を使用する必要がありますか?q1m1.relatedm2.relatedm3.relatedq1q1
ありがとう!