将Python列表与SQLAlchemy集合进行比较

1 投票
1 回答
1980 浏览
提问于 2025-04-17 18:26

我该如何比较一个Python列表和一个SQLAlchemy集合?

我收到了以下错误信息:

InvalidRequestError: Can't compare a collection to an object or collection; use contains() to test for membership

这个错误是从这一行引发的:

gr = AGroup.query.filter_by(users=sorted(members)).first()

Members是一个包含AUser对象的列表。

我想检查是否有任何小组的用户和成员列表中的用户是一样的。

但是,由于用户是一个SQLAlchemy集合,这样比较就不奏效了。

谢谢你。:)

基本类结构:

AGroup
- users

AUser
- name

1 个回答

-3

我用下面的代码解决了这个问题。

    groups = AGroup.query.all()
    for g in groups:
        if sorted(list(g.users)) == members:
            doSomething()

撰写回答