Прежде всего, несколько комментариев к самому коду: предпочитаемое_приложение_продукта и предпочитаемое_пункта относятся к одному и тому же полю, я не думаю, что это должно быть.
Так же, как сказал Шериф, если вы этого не сделаетедаже если вам нужны поля в вашем представлении, нет необходимости создавать их
Я бы использовал Python True / False для атрибутов полей readonly / store вместо строки.
Почемувычисления зависят от самого себя?
Теперь ваш ответ:
@api.multi
@api.depends('preferred_supplier_product', 'preferred_supplier_template')
def _onchange_proc(self):
for record in self:
record.preferred_supplier = '%s-%s' % (record.preferred_supplier_product, record.preferred_supplier_template)
Или в зависимости от того, нужны ли вам поля, объявленные для вашего представления, или нет
@api.multi
@api.depends('product_id.preferred_supplier_middle')
def _onchange_proc(self):
for record in self:
record.preferred_supplier = '%s-%s' % (
record.product_id.preferred_supplier_middle, record.product_id.preferred_supplier_middle)