【发布时间】:2016-09-27 10:00:42
【问题描述】:
我有一个名为 Post 的模型,它有一个名为 is_answer 的布尔字段。如果Post 的is_answer 字段为True,则为“问题”;否则,这是一个“答案”。我想创建以下问答关系:
一个“问题”可能有多个“答案”,但一个“答案”有且只有一个“问题”。由于“问题”和“答案”本质上都是Posts,我认为关系一定是自引用的。
这是我尝试过的:
class Post(db.Model):
__tablename__ = 'posts'
id = db.Column(db.Integer, primary_key=True)
is_question = db.Column(db.Boolean)
post_id = db.Column(db.Integer, db.ForeignKey('posts.id'))
question = db.relationship('Post', backref=db.backref('answer', lazy='dynamic'), uselist=False, lazy='dynamic')
错误是:
ArgumentError: Post.question 和反向引用 Post.answer 都是 相同方向的符号('ONETOMANY')。你的意思是设置 remote_side 在多对一方面?
【问题讨论】:
标签: database sqlalchemy one-to-many flask-sqlalchemy self-referencing-table