Python 直接查询关联表对象
我必须直接查询关系,因为我必须单独显示它们Python 直接查询关联表对象,python,sql,sqlalchemy,flask-sqlalchemy,Python,Sql,Sqlalchemy,Flask Sqlalchemy,我必须直接查询关系,因为我必须单独显示它们 task_user = db.Table( 'pimpy_task_user', db.Column('task_id', db.Integer, db.ForeignKey('pimpy_task.id')), db.Column('user_id', db.Integer, db.ForeignKey('user.id')) ) 在炼金术中我该怎么做? 当我尝试这个: tasks_rel = task_user.join(
task_user = db.Table(
'pimpy_task_user',
db.Column('task_id', db.Integer, db.ForeignKey('pimpy_task.id')),
db.Column('user_id', db.Integer, db.ForeignKey('user.id'))
)
在炼金术中我该怎么做?
当我尝试这个:
tasks_rel = task_user.join(Task).join(User).filter(Task.group_id == group_id)
它会导致以下错误:
AttributeError: 'Join' object has no attribute 'filter'
上面的用法是创建一个构造,它是一个核心(非ORM)构造,表示两个表的join()(但不是完整的select()) 使用ORM时,通常使用查询对象启动SELECT。从类本身进行查询是flask sqlalchemy等扩展提供的一种模式,但这些扩展在这方面通常令人困惑。给定可以使用查询对象查询的任何类或表:
session.query(task_user).join(Task).join(User).filter(Task.group_id == group_id)