宣言型 SQLAlchemy クラスを使用して計算を実行しています。計算の一部では、2 つのテーブル間に外部キー関係がない別のテーブルによって提供されるすべての構成に対して計算を実行する必要があります。
この類推は、私の実際のアプリケーションとはまったく異なりますが、私が何をしたいのかを理解するのに役立つことを願っています.
車のセットと塗装色のリストがあります。car オブジェクトには、可能なすべての色の車を提供するファクトリがあります。
from sqlalchemy import *
from sqlachemy.orm import *
def PaintACar(car, color):
pass
Base = declarative_base()
class Colors(Base):
__table__ = u'colors'
id = Column('id', Integer)
color= Column('color', Unicode)
class Car(Base):
__table__ = u'car'
id = Column('id', Integer)
model = Column('model', Unicode)
# is this somehow possible?
all_color_objects = collection(...)
# I know this is possible, but would like to know if there's another way
@property
def all_colors(self):
s = Session.object_session(self)
return s.query(A).all()
def CarColorFactory(self):
for color in self.all_color_objects:
yield PaintACar(self, color)
私の質問: どうにかして all_color_objects を生成することは可能ですか? all_colors プロパティのように、セッションを見つけて手動でクエリを発行する必要はありませんか?