# Improve is_shared_with()

* improves central is_shared_with() method of ShareableObjectMixin to run ~30% faster
pull/302/head
mpeltriaux 2 years ago
parent 89c83f8a55
commit 35c7836b5c

@ -501,10 +501,13 @@ class ShareableObjectMixin(models.Model):
Returns:
"""
directly_shared = self.shared_users.filter(id=user.id).exists()
team_shared = self.shared_teams.filter(
users__in=[user]
).exists()
obj_shared_teams = self.shared_teams
obj_shared_users = self.shared_users
user_shared_teams = user.shared_teams
directly_shared = obj_shared_users.filter(id=user.id).exists()
team_shared = (obj_shared_teams & user_shared_teams).exists()
is_shared = directly_shared or team_shared
return is_shared

Loading…
Cancel
Save