如何判断InstrumentedAttribute是否是sqlalchemy中的关系?

时间:2014-10-26 11:02:51

标签: python sqlalchemy

给出sqlalchemy模型类

class Table(Base):
  __table__name = 'table'
  col1 = Column(...)

  rel = relationship(...)

如果查看 col1 rel 都属于InstrumentedAttribute类型。我怎么能区分这两个?我试着调查他们的属性。但是有太多......并且没有关于此事的文件。

1 个答案:

答案 0 :(得分:3)

检查Table.<column>.property的类型,它通常可以是ColumnProperty或RelationshipProperty的实例:

>>> type(Table.col1.property)
<class 'sqlalchemy.orm.properties.ColumnProperty'>
>>> type(Table.rel.property)
<class 'sqlalchemy.orm.relationships.RelationshipProperty'>