diff --git a/openerp/fields.py b/openerp/fields.py index 635d5db10ad..464c951a757 100644 --- a/openerp/fields.py +++ b/openerp/fields.py @@ -1157,13 +1157,14 @@ class Monetary(Field): _column_currency_field = property(attrgetter('currency_field')) _column_group_operator = property(attrgetter('group_operator')) - def _setup_regular_base(self, model): - super(Monetary, self)._setup_regular_base(model) - if not self.currency_field: - self.currency_field = 'currency_id' - def _setup_regular_full(self, model): super(Monetary, self)._setup_regular_full(model) + if not self.currency_field: + # pick a default, trying in order: 'currency_id', 'x_currency_id' + if 'currency_id' in model._fields: + self.currency_field = 'currency_id' + elif 'x_currency_id' in model._fields: + self.currency_field = 'x_currency_id' assert self.currency_field in model._fields, \ "Field %s with unknown currency_field %r" % (self, self.currency_field)