cwvreg.py
branch3.5
changeset 3205 dc67e9431f34
parent 3184 613064b49331
child 3230 1d25e928c299
child 3240 8604a15995d1
equal deleted inserted replaced
3204:0b766b8a13e1 3205:dc67e9431f34
   138                 btype = str(baseschema)
   138                 btype = str(baseschema)
   139             if cls is None:
   139             if cls is None:
   140                 try:
   140                 try:
   141                     objects = self[btype]
   141                     objects = self[btype]
   142                     assert len(objects) == 1, objects
   142                     assert len(objects) == 1, objects
   143                     cls = objects[0]
   143                     if btype == etype:
       
   144                         cls = objects[0]
       
   145                     else:
       
   146                         cls = self.etype_class(btype)
   144                 except ObjectNotFound:
   147                 except ObjectNotFound:
   145                     pass
   148                     continue
   146             else:
   149             else:
   147                 # ensure parent classes are built first
   150                 # ensure parent classes are built first
   148                 self.etype_class(btype)
   151                 self.etype_class(btype)
   149         if cls is None:
   152         if cls is None:
   150             # no entity class for any of the ancestors, fallback to the default
   153             # no entity class for any of the ancestors, fallback to the default