ODOO事务处理self.env.cr.commit()

    @api.multi
    @api.returns('self', lambda procurements: [procurement.id for procurement in procurements])
    def check(self, autocommit=False):
        # TDE FIXME: check should not do something, just check
        procurements_done = self.env['procurement.order']
        for procurement in self:
            try:
                result = procurement._check()
                if result:
                    procurements_done += procurement
                if autocommit:
                    self.env.cr.commit()
            except OperationalError:
                if autocommit:
                    self.env.cr.rollback()
                    continue
                else:
                    raise

            finally:
              if use_new_cursor:
                try:
                    self.env.cr.close()
                except Exception:
                    pass

        if procurements_done:
            procurements_done.write({'state': 'done'})
        return procurements_done

转载于:https://my.oschina.net/u/3740195/blog/1591085

你可能感兴趣的:(ODOO事务处理self.env.cr.commit())