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!

È stato utile?

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
scroll top