diff -r 8184bec7414d -r edfe43ceaa35 entity.py --- a/entity.py Wed Sep 02 16:42:07 2009 +0200 +++ b/entity.py Thu Sep 10 08:13:22 2009 +0200 @@ -576,14 +576,16 @@ self.set_related_cache(rtype, role, rset) return self.related(rtype, role, limit, entities) - def related_rql(self, rtype, role='subject'): + def related_rql(self, rtype, role='subject', targettypes=None): rschema = self.req.vreg.schema[rtype] if role == 'subject': - targettypes = rschema.objects(self.e_schema) + if targettypes is None: + targettypes = rschema.objects(self.e_schema) restriction = 'E eid %%(x)s, E %s X' % rtype card = greater_card(rschema, (self.e_schema,), targettypes, 0) else: - targettypes = rschema.subjects(self.e_schema) + if targettypes is None: + targettypes = rschema.subjects(self.e_schema) restriction = 'E eid %%(x)s, X %s E' % rtype card = greater_card(rschema, targettypes, (self.e_schema,), 1) if len(targettypes) > 1: