如何在sqlalchemy中获得backref名称?

时间:2013-07-23 02:52:35

标签: python sqlalchemy flask-sqlalchemy

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的实例中获取UserAddress中的'{1}}名称?我怎么知道User类中有一个名为'addresses'的属性,表明User有多个地址?

我可以从__table__.columns属性中获取所有列信息,但似乎也存储在那里。

1 个答案:

答案 0 :(得分:3)

我们试图鼓励在0.8中使用inspect() api new:

>>> from sqlalchemy import inspect
>>> inspect(User).attrs.keys()
['addresses', 'id']
>>> User.addresses.property.backref
'user'