Функции, логика, декораторы - m3dbedb/odoo GitHub Wiki

Логика записей работает с использованием декоратора @api.multi

В таком случае вместо указателя self подставляются набор записей, и можно сделать перебор все записей.

@api.multi
def do_toggle_done(self):
    for task in self:
        task.is_done = not task.is_done
    return True

Если требуется произвести действие над всеми записями, отвечающими определённому условию, применяется декоратор @api.model.

В таком случае self представляет модель. Далее формируется условия отбора записей, и производится действие над отобранными записями сразу, что эффективнее перебора и последовательного изменения по одной.

@api.model
def do_clear_done(self):
    dones = self.search([('is_done', '=', True)])
    dones.write({'active': False})
    return True

Примеры взяты здесь