class CmfUser(db.Model):
id = db.Column(db.Integer, primary_key=True)
user_nickname = db.Column(db.String(80), unique=True)
user_email = db.Column(db.String(120))
favorites = db.relationship('CmfUserFavorite', backref='user', lazy='dynamic')
class CmfUserFavorite(db.Model):
id = db.Column(db.Integer, primary_key=True)
title = db.Column(db.String(100))
user_id = db.Column(db.Integer, db.ForeignKey('cmf_user.id'))
u = CmfUserFavorite.query.filter(CmfUserFavorite.title == '222').first() # ✅ u.user返回正确
就是用户的爱好查询用户可以,但是查询用户再查询关联的爱好列表,就不不对。。
返回的一条语句
f = CmfUser.query.filter(CmfUser.user_nickname == 'eddy').first() # ❌ f.favorites 返回错误
SELECT cmf_user_favorite.id AS cmf_user_favorite_id, cmf_user_favorite.title AS cmf_user_favorite_title, cmf_user_favorite.user_id AS cmf_user_favorite_user_id FROM cmf_user_favorite WHERE %(param_1)s = cmf_user_favorite.user_id