faster remove
This commit is contained in:
parent
83ceb5b63f
commit
a71dab1c91
3 changed files with 15 additions and 13 deletions
|
|
@ -104,6 +104,15 @@ class Item(db.Model):
|
|||
cls.query.filter(cls.id.in_(ids)).delete(synchronize_session=False)
|
||||
state.db.session.expire_all()
|
||||
|
||||
@classmethod
|
||||
def remove_without_user(cls):
|
||||
q = user_items.select()
|
||||
owned_ids = {i['item_id'] for i in state.db.session.execute(q)}
|
||||
ids = {i.id for i in cls.query.options(load_only('id'))}
|
||||
remove = ids - owned_ids
|
||||
if remove:
|
||||
cls.remove_many(remove)
|
||||
|
||||
def add_user(self, user):
|
||||
if not user in self.users:
|
||||
self.users.append(user)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue