Odoo SAAS: добавьте поле из связанной модели в древовидное представление другой модели

У меня есть 2 поля в res.partner, которые я хотел бы отобразить в виде дерева для account.invoice на основе поля partner_id. Мне интересно, как я могу это сделать (сослаться на другую модель и поле) через веб-интерфейс древовидного представления из-за того, что версия SaaS не разрешает программный доступ.

Заранее спасибо!


person mikey9    schedule 20.07.2016    source источник


Ответы (1)


создайте связанное поле в вашей модели account.invoice с полями res.partner

x_invoice_preference=fields.Selection(related="partner_id.x_invoice_preference")

рекомендуется называть связанное поле тем же именем в другой модели

Маленький пример:

class class1(models.Model):
   _name = 'table1'
   name = fields.Char()

class class2(models.Model):
  _name = 'table2'
  table1_id = fields.Many2one('table1','table 1');
  #this how you create a related field in order to 
  #show it in the form or the tree when you select the value of the many2one field it
  # will have the same value of the vield name of the tabl1 
  name = fields.Char(related="table1_id.name",readonly=True)
#field_name                  m2onField.field_name 
person Charif DZ    schedule 21.07.2016
comment
скажи мне, если ты не понял мой ответ - person Charif DZ; 21.07.2016
comment
Эй, Чариф, спасибо за ответ. Поле «x_invoice_preference» типа «выбор» в модели «res.partner». Я создал поле x_invoice_preference для выбора типа в account.invoice и в связанном поле (на вкладке дополнительных свойств) поместил следующее: x_invoice_preference = fields.SameType(related=partner_id.x_invoice_preference). При сохранении модели я получаю следующее: Неизвестное имя поля "x_invoice_preference = fields" в связанном поле "x_invoice_preference = fields.SameType(related=partner_id.x_invoice_preference)" Нет... что я делаю неправильно? - person mikey9; 22.07.2016
comment
если поле является выбором, вам нужно сделать это x_invoice_preference=fields.Selection(related=partner_id.x_invoice_preference) - person Charif DZ; 22.07.2016
comment
с моим новым ответом на редактирование вы должны понимать связанное поле и как оно работает - person Charif DZ; 22.07.2016
comment
СПАСИБО!!! Я использую версию SaaS, которая позволяет мне изменять модель не программно, а через веб-интерфейс. Я зашел в модель account.invoice и добавил новое поле. Я назвал его так же, как и поле res.partner, перешел на вкладку «Дополнительные свойства» и добавил partner_id.x_invoice_preference к значению связанного поля. Это автоматически заставило выбрать тип поля, и я просто ввел те же параметры выбора, что и поле res.partner. Затем я просто добавил поле x_invoice_preferences в древовидное представление, и там были мои данные.. Еще раз спасибо! - person mikey9; 26.07.2016
comment
Я написал небольшой пост, в котором объясняется, как это сделать в Odoo 9 SaaS, так как я подумал, что это может быть немного полезнее. haplesstechnoweenie.com/post/148001332770/ Еще раз спасибо @charif! - person mikey9; 26.07.2016
comment
я очень рад за тебя, милая, ты проделал большую работу, спасибо - person Charif DZ; 26.07.2016