handle broken relations

This commit is contained in:
Frédéric Péters 2011-12-08 11:20:23 +01:00
parent 8fb46ade9a
commit 95ba916d1e
1 changed files with 9 additions and 2 deletions

View File

@ -123,10 +123,17 @@ def convert(value, attr=None, context=None):
# replace it with an url
value = context.absolute_url() + '/@@download/%s' % attr
elif isinstance(value, z3c.relationfield.relation.RelationValue):
value = value.to_object.id
if value.to_object is None:
value = None
else:
value = value.to_object.id
elif isinstance(value, list) and value:
if isinstance(value[0], z3c.relationfield.relation.RelationValue):
for i, v in enumerate(value):
value[i] = v.to_object.id
if v.to_object is None:
value[i] = None
else:
value[i] = v.to_object.id
value = [x for x in value if x]
return value