Python SQL Alchemy连接关联对象

Python SQL Alchemy连接关联对象,python,sqlalchemy,Python,Sqlalchemy,我必须从两个表中建立一个数据列表。一个是规则表,另一个是关联对象表。现在我正在做这样的事情 items = User.query.all() users_table = UsersTable(items) 然后将其与flask_table模块一起使用,如下所示: class UsersTable(Table): classes = ['table', 'table-striped'] id = Col('#') name = Col('Name') class Use

我必须从两个表中建立一个数据列表。一个是规则表,另一个是关联对象表。现在我正在做这样的事情

items = User.query.all()
users_table = UsersTable(items)
然后将其与flask_table模块一起使用,如下所示:

class UsersTable(Table):
    classes = ['table', 'table-striped']
    id = Col('#')
    name = Col('Name')
class UsersTable(Table):
    classes = ['table', 'table-striped']
    id = Col('#')
    name = Col('Name')
    user_type = Col('Type')
Select id, name, user_type from User join AssocationClass(id_user);
如何为items对象编写查询,该对象可能还包含AssociationClass中的字段?我的意思是,例如在AssociationClass中,我有字段user_type,当我这样写时:

class UsersTable(Table):
    classes = ['table', 'table-striped']
    id = Col('#')
    name = Col('Name')
class UsersTable(Table):
    classes = ['table', 'table-striped']
    id = Col('#')
    name = Col('Name')
    user_type = Col('Type')
Select id, name, user_type from User join AssocationClass(id_user);
这会奏效的

顺便说一句,我试过了,但这不管用

items=User.query.join(AssocationClass, (AssocationClass.id_user == User.id)).all()
如果它是一个普通的SQL,我会这样写:

class UsersTable(Table):
    classes = ['table', 'table-striped']
    id = Col('#')
    name = Col('Name')
class UsersTable(Table):
    classes = ['table', 'table-striped']
    id = Col('#')
    name = Col('Name')
    user_type = Col('Type')
Select id, name, user_type from User join AssocationClass(id_user);

您应该考虑使用“<代码>用户< /COD>类”中的<代码>关联类< /代码>来声明一对一的关系。创建关系后,一个简单的
@属性
返回
AssociationClass。可以添加用户类型
,帮助您获得
flask\u表
工作。是的,
关系()
的所有操作都完成了,实际上这是多对多关系。但是在这个问题上我不需要说。我像你说的那样在UsersTable()中做了更改,但现在没有数据(但没有得到任何错误)。也许quary不好?应该在
user
类中创建
@user\u-type
@属性,而不是
UserTable
,返回值应该是
self.[relationship name]。user\u-type
。谢谢!因为我的db中有很多关系,所以有点复杂。