我有一个名为 的模型Post
,它有一个名为 的布尔字段is_answer
。如果 a 的is_answer
字段Post
为 True,则为“问题”;否则,这是一个“答案”。我想创建以下问答关系:
一个“问题”可能有多个“答案”,但一个“答案”只有一个“问题”。由于“问题”和“答案”本质上都是Post
s,所以我认为这种关系必须是自我参照的。
这是我尝试过的:
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 吗?