Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/335.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/81.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 直接查询关联表对象_Python_Sql_Sqlalchemy_Flask Sqlalchemy - Fatal编程技术网

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)