diff --git a/proteus/__init__.py b/proteus/__init__.py index 71769d2d41..83d31db8b9 100644 --- a/proteus/__init__.py +++ b/proteus/__init__.py @@ -174,6 +174,10 @@ class Many2OneDescriptor(FieldDescriptor): super(Many2OneDescriptor, self).__set__(instance, value) +class One2OneDescriptor(Many2OneDescriptor): + pass + + class One2ManyDescriptor(FieldDescriptor): default = [] @@ -219,6 +223,10 @@ class Many2OneValueDescriptor(ValueDescriptor): return value and value.id or False +class One2OneValueDescriptor(Many2OneValueDescriptor): + pass + + class One2ManyValueDescriptor(ValueDescriptor): def __get__(self, instance, owner): value = [('add', [])] @@ -268,6 +276,10 @@ class Many2OneEvalDescriptor(EvalDescriptor): return False +class One2OneEvalDescriptor(Many2OneEvalDescriptor): + pass + + class One2ManyEvalDescriptor(EvalDescriptor): def __get__(self, instance, owner): return [x.id for x in getattr(instance, self.name)] @@ -296,18 +308,21 @@ class MetaModelFactory(object): 'many2one': Many2OneDescriptor, 'one2many': One2ManyDescriptor, 'many2many': Many2ManyDescriptor, + 'one2one': One2OneDescriptor, } value_descriptors = { 'reference': ReferenceValueDescriptor, 'many2one': Many2OneValueDescriptor, 'one2many': One2ManyValueDescriptor, 'many2many': Many2ManyValueDescriptor, + 'one2one': One2OneValueDescriptor, } eval_descriptors = { 'reference': ReferenceEvalDescriptor, 'many2one': Many2OneEvalDescriptor, 'one2many': One2ManyEvalDescriptor, 'many2many': Many2ManyEvalDescriptor, + 'one2one': One2OneEvalDescriptor, } def __init__(self, model_name, config=None):