Ich habe zwei Modelle mit einem Eins-zu-BeziehungFlask SQLAlchemy Beziehung Abfrage
class UserModel(db.Model):
username = db.Column(db.String(80), unique=True)
...
weekday = db.relationship('weekDay', backref="usermodel")
class weekDay(db.Model):
dayname = db.Column(db.String(15))
...
usermodel_id = db.Column(db.Integer, db.ForeignKey('usermodel.id'))
Wie kann ich einen bestimmten Wochentag im Zusammenhang mit einem bestimmten Benutzer zurück.
Die folgende Abfrage läuft, aber scheint nicht das richtige Ergebnis zurück -
weekDay.query.filter(UserModel.username == 'tester').filter(weekDay.dayname=='Monday').first()
EDIT: ich endlich gelernt, wie man eine funktionierende Abfrage erstellen, die meine Bedürfnisse erfüllt, wie ist mein Verständnis, falls irgendjemand anderes braucht diese
unter Verwendung meiner oben definierten Modelle Ich startete meine Abfrage mit dem Kind-Knoten und trat explizit dem Elternteil mit der select_from und join-Anweisung und dann schließlich in meinen benutzerdefinierten Filtern hinzugefügt, um nach was ich brauche zu suchen ed. Hier ist die Abfrage
weekDay.query.select_from(UserModel).join(UserModel.weekday).filter(UserModel.username == "username_goes_here").filter(weekDay.dayname=="dayname_goes_here").first()
http://docs.sqlalchemy.org/en/latest/orm/tutorial.html#querying-with-joins – davidism