Обходной путь для отношений Many2One или One2Many от не переходной модели к TransientModel в Odoo - PullRequest
1 голос
/ 21 июня 2019

Я хочу создать связь между не переходной моделью и переходной моделью в ODOO-10.мы создали переходную модель, которая выполняет некоторые сложные вычисления, теперь мы хотим отобразить эти данные в форме моделей без переходных процессов, но не смогли этого добиться из-за ограничений отношения модели с переходными процессами и без переходных процессов

Ответы [ 2 ]

2 голосов
/ 24 июня 2019

В вашей модели без переходных процессов определите кнопку для открытия мастера.

В модели без переходных процессов

def open_wiz(self):
    wiz=self.env['your_wizard_name'].create(
        {
        'xn_id':self.id, #your_non transient_model's id #not compulosory
        'field1':feild1_data,
        'field2':field2_data
        }
    return {

                'name':'Display',
                'view_type':'form',
                'view_mode':'form',
                'res_model':'your_wizard_model_name',
                'type':'ir.actions.act_window',
                'res_id':wiz.id,
                'target':'new',

            }

В модели с переходными процессами

Если вы хотите изменить данные в мастере и отразить их в своей не переходной модели, вызовите функцию Super of Write и передайте данные.Например:

@api.multi
def write(self,vals):
    res=super(wiz_class_name,self).write(vals)
    self.xn_id.write({'field1':self.data_from_wiz})
    return res
2 голосов
/ 23 июня 2019

Единственное допустимое отношение между нормальной моделью и transien One:

          T   ---- M2o   ----- > M
          M ------ M2M   ------> T

Так что, если вы хотите, чтобы поведение, подобное One2many, использовало Computed Many2many и заполнило его простым поисковым вызовом.

...