entity.py
changeset 9359 31a1813d53f3
parent 9340 b1e933b0e850
child 9440 6880674c1a26
child 9469 032825bbacab
--- a/entity.py	Thu Dec 12 12:28:43 2013 +0100
+++ b/entity.py	Thu Dec 12 12:34:38 2013 +0100
@@ -287,7 +287,10 @@
         select._varmaker = rqlvar_maker(defined=select.defined_vars,
                                         aliases=select.aliases, index=26)
         if settype:
-            select.add_type_restriction(mainvar, cls.__regid__)
+            rel = select.add_type_restriction(mainvar, cls.__regid__)
+            # should use 'is_instance_of' instead of 'is' so we retrieve
+            # subclasses instances as well
+            rel.r_type = 'is_instance_of'
         if fetchattrs is None:
             fetchattrs = cls.fetch_attrs
         cls._fetch_restrictions(mainvar, select, fetchattrs, user, ordermethod)