summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/mailman/model/roster.py8
1 files changed, 5 insertions, 3 deletions
diff --git a/src/mailman/model/roster.py b/src/mailman/model/roster.py
index da2ed4582..16f463199 100644
--- a/src/mailman/model/roster.py
+++ b/src/mailman/model/roster.py
@@ -286,9 +286,11 @@ class Memberships:
@dbconnection
def _query(self, store):
results = store.query(Member).filter(
- or_(Member.user_id == self._user.id,
- and_(Address.user_id == self._user.id,
- Member.address_id == Address.id)))
+ Member.user_id == self._user.id
+ ).union(
+ store.query(Member).join(Address).filter(
+ Address.user_id == self._user.id)
+ )
return results.distinct()
@property