Reviewers: ,
Please review this at http://codereview.tryton.org/539002/ Affected files: M proteus/__init__.py Index: proteus/__init__.py =================================================================== --- a/proteus/__init__.py +++ b/proteus/__init__.py @@ -208,11 +208,17 @@ default = [] def __get__(self, instance, owner): + from .pyson import PYSONDecoder relation = Model.get(self.definition['relation'], instance._config) value = super(One2ManyDescriptor, self).__get__(instance, owner) if not isinstance(value, ModelList): - value = ModelList(self.definition, (relation(id) - for id in value or []), instance, self.name) + ctx = instance._context.copy() if instance._context else {} + if self.definition.get('context'): + decoder = PYSONDecoder(_EvalEnvironment(instance)) + ctx.update(decoder.decode(self.definition.get('context'))) + with instance._config.set_context(ctx): + value = ModelList(self.definition, (relation(id) + for id in value or []), instance, self.name) instance._values[self.name] = value return value -- [email protected] mailing list
