【发布时间】:2011-01-13 17:47:45
【问题描述】:
对于任何有 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 或错误的棒端,请提前道歉
【问题讨论】:
标签: python orm sqlalchemy