为什么不检索具有“多对多”关系的列名? SQL炼金术

时间:2019-12-14 03:55:51

标签: python sql database sqlalchemy

我有以下模型:

class Actividad(Base):
    __tablename__ = "Actividad"

    codigo = Column(Integer, primary_key=True, unique=True)
    productos = relationship("Producto_Actividad")
    total = Column(Float)

哪个字段(通过“ Producto_Actividad”关联表)与“ productos”字段中的另一个模型(称为“ Producto”)具有多对多关系。

为了获取该模型对象的列,我正在使用:

Actividad.__mapper__.column_attrs.keys()

或(“充当”模型实例):

act.__table__.columns

尽管如此,我得到了以下结果:

['codigo', 'total']

为什么我在结果集中没有得到“ productos”字段?我需要在程序的另一部分中使用它。预先感谢。

1 个答案:

答案 0 :(得分:1)

  

为什么我在结果集中没有得到“ productos”字段?

因为在“活动”表中没有代表“ productos”的列。该链接位于(单独的)关联表中,其中的行将使一个或多个“ Producto_codigo”值与一个或多个“ Actividad_codigo”值匹配。