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'))
一対多の関係を持つ2つのモデルがどのように私は、特定のユーザーに関連する特定の曜日を返すことができています。
次のクエリが実行されますが、正しい結果を返すようにdoesntのように見える -
weekDay.query.filter(UserModel.username == 'tester').filter(weekDay.dayname=='Monday').first()
編集:私はようやく私のニーズを満たす作業クエリを作成する方法を学びました は、どのケースで私の理解であります誰もがこれを必要とします
上記のモデルを使用して私は子ノードでクエリを開始し、select_fromとjoinステートメントを使用して親に明示的に結合し、最後に私のカスタムフィルタを追加して必要なものを検索しましたed。ここでは、クエリ
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