【发布时间】:2011-11-24 18:29:36
【问题描述】:
我已经查看了 SQLAlchemy 教程和其他类似问题,但我似乎很难让这个加入工作:
场景:我有一个pages 表,由Page 模型表示。页面可以由用户创建并由用户编辑,但不一定相同。我的Page 模型看起来像这样(删节):
class Page(Base):
__tablename__ = 'pages'
id = Column(Integer, primary_key = True)
slug = Column(Text)
title = Column(Text)
direct_link = Column(Text)
body = Column(Text)
category_id = Column(Integer, ForeignKey('categories.id'))
published_on = Column(DateTime)
publishing_user_id = Column(Integer, ForeignKey('users.id'))
last_edit_on = Column(DateTime)
last_edit_user_id = Column(Integer, ForeignKey('users.id'))
# Define relationships
publish_user = relationship('User', backref = backref('pages', order_by = id), primaryjoin = "Page.publishing_user_id == User.id")
edit_user = relationship('User', primaryjoin = "Page.last_edit_user_id == User.id")
category = relationship('Category', backref = backref('pages', order_by = id))
我的用户存储在由User 模型表示的用户表中。正如我所说,我一直在寻找这个 SQLAlchemy 文档,我试图让它看起来尽可能与他们的示例相似,但无济于事。任何帮助将不胜感激。
【问题讨论】:
-
我不确定我是否将它设置为我想要它做的事情。我希望能够从查询中获取页面,并调用 page.publish_user 来获取发布用户。我尝试了下面的建议,但仍然没有运气
-
你说它不起作用,但你能更具体一点——一个错误,一个意外的返回值,什么?我在您发布的代码中没有发现任何明显的问题。
标签: python sql sqlalchemy relationship