diff -r e48e5a597ccc -r 8f4b15e5b300 entity.py --- a/entity.py Fri Aug 08 13:05:07 2014 +0200 +++ b/entity.py Mon Jul 28 16:05:19 2014 +0200 @@ -425,8 +425,10 @@ needcheck = not cls.e_schema.has_unique_values(mainattr) else: for rschema in cls.e_schema.subject_relations(): - if rschema.final and rschema != 'eid' \ - and cls.e_schema.has_unique_values(rschema): + if (rschema.final + and rschema != 'eid' + and cls.e_schema.has_unique_values(rschema) + and cls.e_schema.rdef(rschema.type).cardinality[0] == '1'): mainattr = str(rschema) needcheck = False break