class A(Base):
primary_id = Column(Integer, prirmary_key=True)
some_A_marker = Column(String)
class B(Base):
primary_id = Column(Integer, primary_key=True)
referencing_A_id = Column(Integer, ForeignKey(A.primary_id))
class C(Base):
primary_id = Column(Integer, primary_key=True)
basedOn_B_id = Column(Integer, ForeignKey(B.primary_id))
symbol_from_A = column_property(
sasql.select(A.some_A_marker).select_from(A).join(B).where(B.primary_id == C.basedOn_B_id).correlate(C).scalar_subquery().label("symbol_from_A")
)
When I query this highlighted column_property along with the whole object, it works fine:
>>> sess.query(C, C.symbol_from_A).all()
However, when I query this column_property alone, it doesn't work:
>>>sess.query(C.symbol_from_A).distinct().all()
I noticed that somehow the correlated subquery wasn't executed property when query that column_property independently.
How to solve this?