common/entity.py
changeset 413 a7366dd3c33c
parent 397 cf577e26f924
child 440 3b3c2b6699fd
child 475 b32a5772ff06
--- a/common/entity.py	Wed Jan 14 17:16:33 2009 +0100
+++ b/common/entity.py	Wed Jan 14 17:55:50 2009 +0100
@@ -756,10 +756,11 @@
             restriction = 'E eid %%(x)s, X %s E' % rtype
             card = greater_card(rschema, targettypes, (self.e_schema,), 1)
         if len(targettypes) > 1:
-            fetchattrs = set()
+            fetchattrs_list = []
             for ttype in targettypes:
                 etypecls = self.vreg.etype_class(ttype)
-                fetchattrs &= frozenset(etypecls.fetch_attrs)
+                fetchattrs_list.append(set(etypecls.fetch_attrs))
+            fetchattrs = reduce(set.intersection, fetchattrs_list)
             rql = etypecls.fetch_rql(self.req.user, [restriction], fetchattrs,
                                      settype=False)
         else: