1
使用SQLAlchemy,给定一个列表,我想确定列表中哪些值不存在于sqlite数据库表中的给定列中。其中一种方法如下:使用SQLAlchemy,确定哪些列表值不在数据库列
def get_user_ids_not_in_DB(self, user_ids):
query__belongs = User_DB.user_id.in_(user_ids)
select__user_ids_in_DB = self.SQL_Helper.db.query(User_DB.user_id).filter(query__belongs)
user_ids_in_DB = zip(*select__user_ids_in_DB.all())[0]
return list(set(user_ids) - set(user_ids_in_DB))
有没有更快/更有效的方法来完成同样的事情?
身份运营商不能超载,所以'ualias.user_id是None'评估为'FALSE'蟒蛇方等你SQL中有'WHERE'错误。使用'ualias.user_id.is_(None)'或'ualias.user_id == None',SQLAlchemy会自动转换为'IS'。 –
@IljaEverilä哎呀!接得好。我根据您的评论更新了我的答案 – Ray