0

我有一个Foo具有唯一标识键的对象列表,foo_key. FooData我在 MySQL 数据库中查询对象列表中表中的所有行Foo

sql = "SELECT * FROM FooData where foo_key in ({})".format(",".join(str(obj.foo_key) for obj in foo_list))
foo_rows = sql_exec(sql).fetchall()

找出我的哪些Foo对象不在数据库中的最 Pythonic 方法是什么(即在返回的对象中没有相应的行foo_rows?)

4

1 回答 1

0

我对 SQL 不太了解,所以用等效的替换这些

keys_not_in_db = set(list_of_foo_list_keys) - set(list_of_foo_rows_keys)
于 2013-10-28T22:21:44.930 回答