Allow to handle reference field with this model (model, (id, name)) for

issue74
This commit is contained in:
Cédric Krier committed 2008-06-07 20:25:22 +02:00
1 parent 2f88ce2130
commit deb18eab32
1 file changed
+13 -9
+13 -9
View File
@@ -470,16 +470,20 @@ class ReferenceField(CharField):
if not value:
model.value[self.name] = False
return
ref_model, ref_id = value.split(',')
rpc2 = RPCProxy(ref_model)
try:
result = rpc2.name_get([ref_id], rpc.CONTEXT)
except:
return
if result:
model.value[self.name] = ref_model, result[0]
ref_model, ref_id = value.split(',', 1)
ref_id = eval(ref_id)
if isinstance(ref_id, (int, basestring, long)):
rpc2 = RPCProxy(ref_model)
try:
result = rpc2.name_get([ref_id], rpc.CONTEXT)
except:
return
if result:
model.value[self.name] = ref_model, result[0]
else:
model.value[self.name] = ref_model, (0, '')
else:
model.value[self.name] = ref_model, (0, '')
model.value[self.name] = ref_model, ref_id
if modified:
model.modified = True
model.modified_fields.setdefault(self.name)