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

@@ -13,15 +13,11 @@ class Many2One(Field):
if inst is None:
return self
assert self.name is not None
return inst._fields[self.name]
return self._create_model(inst)
def __set__(self, inst, value):
assert self.name is not None
class_model = self.model
inst_model = class_model()
self._set_namespace(inst_model, self.namespace, inst.__namespace__)
inst._fields[self.name] = inst_model
inst_model = self._create_model(inst, model=self.model)
# si hay setter manual se ejecuta
# de lo contrario se asigna como texto del elemento