class User(Base):
__tablename__ = 'users'
addresses = relationship('Address', order_by='Address.id', backref='user')
class Address(Base):
__tablename__ = 'addresses'
user_id = Column(Integer, ForeignKey('users.id'))
上面的代码显示了SQLAlchemy中非常常见的一对多配置。
如何从backref
的实例中获取User
类Address
中的'{1}}名称?我怎么知道User
类中有一个名为'addresses'的属性,表明User
有多个地址?
我可以从__table__.columns
属性中获取所有列信息,但似乎也存储在那里。
答案 0 :(得分:3)
我们试图鼓励在0.8中使用inspect()
api new:
>>> from sqlalchemy import inspect
>>> inspect(User).attrs.keys()
['addresses', 'id']
>>> User.addresses.property.backref
'user'