J'ai un modèle nommé Post
, qui a un champ booléen appelé is_answer
. Si le champ is_answer
d'un Post
est True, il s'agit d'une "question"; sinon, c'est une "réponse". Je veux créer la relation question-réponse suivante:Comment créer une relation un-à-plusieurs auto-référencée dans Flask-SQLAlchemy?
Une "question" peut avoir plusieurs "réponses", mais une "réponse" a et n'a qu'une "question". En raison du fait que les deux "question" et "réponse" sont essentiellement Post
s, je pense que la relation doit être auto-référence.
Voici ce que j'ai essayé:
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')
L'erreur est:
ArgumentError: Post.question and back-reference Post.answer are both of the same direction symbol('ONETOMANY'). Did you mean to set remote_side on the many-to-one side ?