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

时间:2013-03-08 17:48:26

标签: python list comparison sqlalchemy flask-sqlalchemy

如何将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()

成员是AUser对象的列表。

我想检查是否存在与成员列表具有相同用户的任何组。

但是,由于用户是sqlalchemy集合,因此无效。

谢谢。 :)

基本班级结构

AGroup
- users

AUser
- name

1 个答案:

答案 0 :(得分:-3)

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

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