从 peewee 查询中删除一个元素 select
Delete an element from peewee Query select
我有一个 Peewee 的 table.select() 的查询结果,假设我想删除结果列表的一部分 (QuerySelect) 那是怎么做到的?或者从查询中排除某些元素?
#Edited
result = users.select();
for element in result:
for name in list:
if(element.name == name):
removeThisElement()
我想从查询结果中排除一个名字列表
如所说,既然你用的是peewee,那就用SQL来做,所以根据你上次的编辑,解决方案应该是:
result = User.select().where(User.name.not_in(a_list_of_names))
尽管列表理解也有效:
result = [user for user in Users.select() if user.name not in a_list_of_names]
文档:Query.where
最好和最合适的方法是使用 SQL 来做到这一点:
User.select().where(User.name != 'myname')
然后您的结果列表被预先过滤。
如果你想过滤掉 list 个名字,那么你可以写
names_to_exclude = ['lord63', 'Newbie', 'etc']
users = User.select().where(User.name.not_in(names_to_exclude))
我有一个 Peewee 的 table.select() 的查询结果,假设我想删除结果列表的一部分 (QuerySelect) 那是怎么做到的?或者从查询中排除某些元素?
#Edited
result = users.select();
for element in result:
for name in list:
if(element.name == name):
removeThisElement()
我想从查询结果中排除一个名字列表
如
result = User.select().where(User.name.not_in(a_list_of_names))
尽管列表理解也有效:
result = [user for user in Users.select() if user.name not in a_list_of_names]
文档:Query.where
最好和最合适的方法是使用 SQL 来做到这一点:
User.select().where(User.name != 'myname')
然后您的结果列表被预先过滤。
如果你想过滤掉 list 个名字,那么你可以写
names_to_exclude = ['lord63', 'Newbie', 'etc']
users = User.select().where(User.name.not_in(names_to_exclude))