oc-facho/facho/model/fields/one2many.py
bit4bit 5f5a6182c9 se adiciona fields.One2Many
FossilOrigin-Name: 94c1cca50451a46c417d925b27fdd53d8199b8dc58783e600c84179eac666a36
2021-06-25 23:55:36 +00:00

26 lines
764 B
Python

from .field import Field
class BoundModel:
def __init__(self, creator):
self.creator = creator
def create(self):
return self.creator()
class One2Many(Field):
def __init__(self, model, name=None, namespace=None, default=None):
self.model = model
self.field_name = name
self.namespace = namespace
self.default = default
self.count_relations = 0
def __get__(self, inst, cls):
assert self.name is not None
def creator():
attribute = '%s_%d' % (self.name, self.count_relations)
self.count_relations += 1
return self._create_model(inst, name=self.field_name, model=self.model, attribute=attribute)
return BoundModel(creator)