cubicweb/req.py
changeset 12183 af5d0a3c3f1a
parent 12182 50109859da43
child 12508 a8c1ea390400
--- a/cubicweb/req.py	Wed Apr 26 15:04:40 2017 +0200
+++ b/cubicweb/req.py	Fri Apr 28 09:49:37 2017 +0200
@@ -229,9 +229,14 @@
                 parts.append('{var} {attr} X, {var} eid %(reverse_{attr})s'.format(
                     var=next(varmaker), attr=attr))
             else:
-                if attr not in eschema.subjrels:
+                rel = eschema.subjrels.get(attr)
+                if rel is None:
                     raise KeyError('{0} not in {1} subject relations'.format(attr, eschema))
-                parts.append('X {attr} %({attr})s'.format(attr=attr))
+                if rel.final:
+                    parts.append('X {attr} %({attr})s'.format(attr=attr))
+                else:
+                    parts.append('X {attr} {var}, {var} eid %({attr})s'.format(
+                        attr=attr, var=next(varmaker)))
 
         rql = ', '.join(parts)