Как определить два отношения к одной и той же таблице в SQLAlchemy

Я просмотрел все учебное пособие по SQLAlchemy и другие подобные вопросы, но, похоже, мне не удается заставить это соединение работать:

Сценарий : У меня есть страницы , представленная моделью Страницы .Страницы могут создаваться пользователем и редактироваться пользователем, но не обязательно одним и тем же. Моя модель страницы выглядит так (в сокращении):

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))

Мои пользователи хранятся в таблице пользователей, представленной моделью Пользователь . Как я уже сказал, я искал это во всех документах SQLAlchemy, я попытался сделать его максимально похожим на их пример, но безуспешно. Любая помощь будет принята с благодарностью.

20
задан minhee 25 September 2011 в 23:06
поделиться