という名前のモデルがありPost
、これには というブール値フィールドがありis_answer
ます。a のis_answer
フィールドPost
が True の場合、それは「質問」です。そうでなければ、それは「答え」です。次の質問と回答の関係を作成したいと思います。
1 つの「質問」には多くの「回答」が含まれる場合がありますが、1 つの「回答」には 1 つの「質問」しかありません。「質問」も「回答」も本質的に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 と back-reference Post.answer は両方とも同じ方向記号 ('ONETOMANY') です。多対一側に remote_side を設定するつもりでしたか?