gpt4 book ai didi

python - 用关系数据库Flask-SQLAlchemy查询单表

转载 作者:太空宇宙 更新时间:2023-11-04 11:19:03 24 4
gpt4 key购买 nike

我有三个表:用户、角色、部门

我想查询具有以下选定过滤器的所有用户:Department.name、Role.name 和 User.degree

我找不到解决这个问题的方法,任何建议都很好!

这是我简化的模型:

class User(UserMixin, db.Model):

__tablename__ = "users"

id = db.Column(db.Integer, primary_key=True)
password_hash = db.Column(db.String(128))
degree = db.Column(db.String(20),default=None)
department_id = db.Column(db.Integer, db.ForeignKey('departments.id'))
role_id = db.Column(db.Integer, db.ForeignKey('roles.id'))


class Department(db.Model):

__tablename__ = "departments"

id = db.Column(db.Integer, primary_key=True)
name = db.Column(sqlalchemy.types.NVARCHAR(100), unique=True)
user = db.relationship('User', backref='department',
lazy='dynamic')

class Role(db.Model):

__tablename__ = 'roles'

id = db.Column(db.Integer, primary_key=True)
name = db.Column(sqlalchemy.types.NVARCHAR(100), unique=True)
users = db.relationship('User', backref='role',
lazy='dynamic')

最佳答案

session.query(User).filter(
User.department.has(name='some_name)).filter(
User.role.has(name='some_role')).filter(
User.degree == 'some_degree')

关于python - 用关系数据库Flask-SQLAlchemy查询单表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56391748/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com