私はクラスを持っています:
class ExampleClass(Base):
__tablename__ = 'chart'
id = Column(Integer, primary_key=True)
element_id = Column(Integer, ForeignKey('anotherTable.id'))
element = relationship(AnotherClass)
element2_id = Column(Integer, ForeignKey('anotherTable2.id'))
element2 = relationship(AnotherClass2)
element_id
andに基づいてルックアップを行いたいelement2_id
:
class ExampleClass(Base):
...
def get_with_element2(self, element2):
return session.query(ExampleClass).\
filter_by(element_id = self.element_id,
element2_id = element2.id).first()
私が見つけた問題は、新しいExampleClass
オブジェクトをインスタンス化してそれに割り当てるとelement
、element_id
フィールドが設定されないことです:
a = ExampleClass(element=element_obj)
a.element_id => None
どうすればこれを解決できますか? このような状況に対処する最善の方法は何ですか?