2 relazioni dello stesso tablename confuso sqlalchemy
-
28-10-2019 - |
Domanda
CIOÈ:
class Share(db.Model):
"""
Stores the Checkpoint shares between users
"""
id = db.Column(db.Integer, primary_key=True)
user_from_id = db.Column(db.Integer, db.ForeignKey('user.id'))
user_from = db.relationship("User")
user_to_id = db.Column(db.Integer, db.ForeignKey('user.id'))
user_to = db.relationship("User")
Ricevo un errore:
Argomentazione: non è stato in grado di determinare la condizione di join tra le tabelle genitore/figlio su condivisione della relazione.user_from. Specificare un'espressione "primaria". Se è presente "secondario", è necessario anche "secondaryJoin".
Come posso risolvere questo problema?
Grazie!
Soluzione
Come suggerisce il messaggio di errore, è necessario specificare primaryjoin
valore per il tuo relazioni:
class Share(db.Model):
# ...
user_from = relationship("User", primaryjoin="Share.user_from_id==User.id")
user_to = relationship("User", primaryjoin="Share.user_to_id==User.id")
# ...
Vedere Specificare le condizioni di join alternative alla relazione () per maggiori informazioni.
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow