Python 确定列表中哪些值不可用';不存在于使用SQLAlchemy的表列中

Python 确定列表中哪些值不可用';不存在于使用SQLAlchemy的表列中,python,sqlalchemy,Python,Sqlalchemy,我有一个城市列表,['罗马','巴塞罗那','布达佩斯','卢布尔雅那'] 那么 我有一个sqlalchemy模型,如下所示- class Fly(Base): __tablename__ = 'fly' pkid = Column('pkid', INTEGER(unsigned=True), primary_key=True, nullable=False) city = Column('city', VARCHAR(45), unique=True, nulla

我有一个城市列表,['罗马','巴塞罗那','布达佩斯','卢布尔雅那']

那么

我有一个sqlalchemy模型,如下所示-

class Fly(Base):

    __tablename__ = 'fly'

    pkid = Column('pkid', INTEGER(unsigned=True), primary_key=True, nullable=False)
    city = Column('city', VARCHAR(45), unique=True, nullable=False)
    country = Column('country', VARCHAR(45))
    flight_no = Column('Flight', VARCHAR(45))

我需要检查给定的
cities
列表中的所有值是否存在于飞行表中,或者是否未使用sqlalchemy。仅当表中存在所有城市时,才返回true。即使表中不存在一个城市,我也需要返回false和不存在的城市列表。怎么做?有什么想法/提示/建议吗?我正在使用MYSQL,一种方法是基于给定列表创建一个(临时)关系,并从fly表中获取它与城市之间的设置差异。换句话说,创建列表1中的值的并集:

然后,考虑一下区别:

sq = cities_union.select().except_(select([Fly.city]))
res = session.query(~exists(sq)).scalar()
并检查差异后是否没有留下任何行:

sq = cities_union.select().except_(select([Fly.city]))
res = session.query(~exists(sq)).scalar()
对于飞行表中缺少的城市列表,请忽略(不存在):



1其他数据库供应商可能会提供从数组生成关系的替代方法,例如Postgresql及其
unnest()
一种方法是基于给定列表创建一个(临时)关系,并从动态表中获取它与城市之间的集差。换句话说,创建列表1中的值的并集:

然后,考虑一下区别:

sq = cities_union.select().except_(select([Fly.city]))
res = session.query(~exists(sq)).scalar()
并检查差异后是否没有留下任何行:

sq = cities_union.select().except_(select([Fly.city]))
res = session.query(~exists(sq)).scalar()
对于飞行表中缺少的城市列表,请忽略(不存在):



1其他数据库供应商可能会提供从数组生成关系的替代方法,例如Postgresql及其
unnest()

哪个数据库?MySQL?是的,我正在使用MySQL数据库哪个数据库?MySQL?是的,我正在使用MySQL数据库