Я новичок в python (sqlalchemy), и я учусь создавать веб-сайт с помощью пилонов и sqlalchemy.
У меня проблема, когда я объявляю отношения между моделями. Я пробовал это несколько часов, но не получилось. Но я думаю, что это должен быть основной вопрос.
У меня есть два класса: Пользователь и Статья, пользователь может создавать статьи и изменять статьи других людей (например, вики).
Таким образом, пользователь создал статьи и редактировал статьи.
class Article(Base):
__tablename__ = 'articles'
id = Column(Integer, primary_key=True)
title = ...
user_id = Column(Integer, ForeignKey('users.id'))
editor_id = Column(Integer, ForeignKey('users.id'))
# relations
user = relationship('User', backref='articles') # -> has error
class User(Base):
__tablename__ = "users"
id = Column(Integer, primary_key=True)
name = Column(String(20))
def __init__(self):
pass
Но отображается ошибка:
InvalidRequestError: One or more mappers failed to compile. Exception was probably suppressed within a hasattr() call. Message was: Could not determine join condition between parent/child tables on relationship Article.user. Specify a 'primaryjoin' expression. If this is a many-to-many relationship, 'secondaryjoin' is needed as well.
Я пытался добавить primaryjoin
в строку («есть ошибка»), но не знаю, как это должно быть. Я попробовал несколько кодов, но ни один не работает.
Заранее спасибо!