Как написать еще одно поле из мастера Odoo 11 - PullRequest
0 голосов
/ 26 ноября 2018

Я хочу изменить значение поля из мастера.Само поле не находится внутри мастера.Вот код:

class TestMapWizard(models.TransientModel):
_name = 'test.testmapwizard'
_description = 'Map Wizard'

name = fields.Char(string='Coordinates', required=True)

@api.onchange("name")
def _change_coordinates(self):
    for record in self:
        if record.name:
            ids = self.env["test.map"].search([('name', '=', record.name)])
            if ids:
                ids.write({'name': self.name})

1 Ответ

0 голосов
/ 28 ноября 2018

Передайте active_id с кнопки через context

Пример: в вашем XML-файле

<button name="%(your_wizard_act_window_id)d" type="action" context="{'default_active_id':active_id}" string="Your String"/>

В вашем Python (код мастера):

@api.onchange("name")
def _change_coordinates(self):
    for record in self:
        if self.env.context.get('default_active_id'):
           active_id = self.env.context.get('default_active_id')
        if record.name:
            ids = self.env["test.map"].browse(active_id)
            for id in ids:
                id.write({'name': self.name})
    return True
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...