我相信对于任何有 SQLAlchemy 经验的人来说,这都是基础知识;但我觉得这些文档没有什么帮助,而且我厌倦了挠头。
给定两个类:
class User(Base):
__tablename__='users'
id = Column(Integer, primary_key=True)
name = Column(String(32))
...
class UserPost(Base):
__tablename__='posts'
id = Column(Integer, primary_key=True)
poster = Column(Integer, ForeignKey('users.id'))
subject = Column(String(32))
我所追求的是一种方法:
post = session.query(UserPost).filter_by(subject="foo").one()
print post.poster.name
>>> "John Doe"
我正在尝试这样做relation()
属性,但我只是一直在绕圈,并出现有关连接关系等的错误:S
我的关系看起来像:
class UserPost(Base):
__tablename__='posts'
id = Column(Integer, primary_key=True)
poster = Column(Integer, ForeignKey('users.id'))
subject = Column(String(32))
poster_user = relation(User, primaryjoin=poster==User.id)
我是 SQLAlchemy 巫毒的新手,所以要温柔! :)
提前感谢各位,如果这变成 RTFM 或错误的末端,请提前道歉