se instancia modelo en caso de no existir para Many2One

FossilOrigin-Name: 006f6a780ae0436649addd2abe89eb6a9bfc5ad573ee1a1835a8f65ab039fd26
This commit is contained in:
bit4bit
2021-06-24 01:51:05 +00:00
parent 58e7387292
commit 92bae58e51
4 changed files with 35 additions and 21 deletions

View File

@@ -25,3 +25,17 @@ class Field:
if callable(call):
return call(*args)
def _create_model(self, inst, name=None, model=None):
try:
return inst._fields[self.name]
except KeyError:
if model is not None:
obj = model()
else:
obj = self.model()
if name is not None:
obj.__name__ = name
self._set_namespace(obj, self.namespace, inst.__namespace__)
inst._fields[self.name] = obj
return obj