diff --git a/odm2api/ODM2/services/readService.py b/odm2api/ODM2/services/readService.py index 22a2b19..4cffa89 100644 --- a/odm2api/ODM2/services/readService.py +++ b/odm2api/ODM2/services/readService.py @@ -554,9 +554,12 @@ def getAffiliations(self, ids=None, personfirst=None, personlast=None, orgcode=N q = self._session.query(Affiliations) if ids: q = q.filter(Affiliations.AffiliationID.in_(ids)) - if orgcode: q = q.filter(Organizations.OrganizationCode.ilike(orgcode)) - if personfirst: q = q.filter(People.PersonFirstName.ilike(personfirst)) - if personlast: q = q.filter(People.PersonLastName.ilike(personlast)) + if orgcode: q = q.join(Affiliations.OrganizationObj).filter( + Organizations.OrganizationCode.ilike(orgcode)) + if personfirst: q = q.join(Affiliations.PersonObj).filter( + People.PersonFirstName.ilike(personfirst)) + if personlast: q = q.join(Affiliations.PersonObj).filter( + People.PersonLastName.ilike(personlast)) try: return q.all()