查询一对多关系SQLAlchemy

查询一对多关系SQLAlchemy,第1张

查询一对多关系SQLAlchemy

您定义以下类方法:

@classmethoddef users_by_skill(cls, skill):    return User.query.join(Skill).filter(skill.skill).all()

您可能希望像这样使用此功能:

users = Users.users_by_skill('nunchuk')

这意味着

skill
in中的参数
users_by_skill
是一个字符串。然后,您尝试使用
skill.skill
,基本上就像在做一样
'nunchuk'.skill
。Python
skill
在字符串类上没有属性,因此会出错。

filter
函数实际上带有一个
Criteria
对象。换句话说,您没有向其传递类似的值
"filter"
,而是向其传递了一个表示“技能表上的技能列必须等于’nunchuk’”这一概念的标准。您可以使用如下语法来做到这一点:

@classmethoddef users_by_skill(cls, skill_name):    return User.query.join(Skill).filter(Skill.skill == skill_name).all()


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5668516.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-16
下一篇 2022-12-16

发表评论

登录后才能评论

评论列表(0条)

保存