se depreca fields.Model port fields.Many2One

FossilOrigin-Name: 73d74488ca7458ff7dc84898ff76fa9b16b427cc6bc77540d7c81450e4f33869
This commit is contained in:
bit4bit
2021-06-24 02:10:46 +00:00
parent 92bae58e51
commit ba4e3d546f
3 changed files with 28 additions and 13 deletions

View File

@@ -1,23 +1,21 @@
from .field import Field
class Many2One(Field):
def __init__(self, model, setter=None, namespace=None):
def __init__(self, model, name=None, setter=None, namespace=None):
self.model = model
self.setter = setter
self.namespace = namespace
def __set_name__(self, owner, name):
self.name = name
self.field_name = name
def __get__(self, inst, cls):
if inst is None:
return self
assert self.name is not None
return self._create_model(inst)
return self._create_model(inst, name=self.field_name)
def __set__(self, inst, value):
assert self.name is not None
inst_model = self._create_model(inst, model=self.model)
inst_model = self._create_model(inst, name=self.field_name, model=self.model)
# si hay setter manual se ejecuta
# de lo contrario se asigna como texto del elemento

View File

@@ -1,11 +1,13 @@
from .field import Field
import warnings
class Model(Field):
def __init__(self, model, name=None, namespace=None):
self.model = model
self.namespace = namespace
self.field_name = name
warnings.warn('deprecated use Many2One instead')
def __get__(self, inst, cls):
if inst is None:
return self