FlaskSQLAlchemy如何获取与foregein-key匹配的值

我有两个模型,Role和RoleMember,以及一条返回我一些用户详细信息的路由,在这些详细信息中,我有uid可以用来检查表数据上是否存在。

角色具有idnamedescription。 RoleMember具有iduser_uidrole作为外键。

我需要检查用户是否具有角色并返回这些角色名称

我试图提出代码,但是我在return语句中得到了所有角色名称。 我有一条路由,从用户那里返回user_details,我使用从路由中获得的uid来检查uid行上是否存在user_uid,然后返回一个该查询应赋予我与RoleMember外键匹配的角色name

@app.route('/user/<cn>',methods=['GET'])

def user_details(cn):

    user_details = ldap.get_object_details(cn,query_filter="cn=%s")

    if user_details is None:
        response = jsonify(message='User Not Found')
        return response,404
    for k,v in user_details.items():
            user_details[k] = v[0].decode('utf-8')

    users_uids = db.session.query(RoleMember.user_uid).all()
    role_name = db.session.query(Role.name).join(RoleMember,RoleMember.role == Role.id).all()

    if user_details['uid'] in str(users_uids):
        return str(role_name)
    else:
        return jsonify("User has no roles")
lijunlove 回答:FlaskSQLAlchemy如何获取与foregein-key匹配的值

暂时没有好的解决方案,如果你有好的解决方案,请发邮件至:iooj@foxmail.com
本文链接:https://www.f2er.com/3157951.html

大家都在问