从新到旧Api

From new to old Api

@api.multi
    def unlink(self):
        for deferr in self:
            if deferr.invoice_id.state != 'draft':
                raise UserError('ERROR')
return super(account_deferred_income_charges, self).unlink()

我想用旧的 api 编写相同的方法。我该怎么做?

def unlink(self, cr, uid, ids, context=None):
    def_line_obj = self.pool.get('account.deferred.income.charges.')

return super(account_deferred_income_charges, self).unlink(
            cr, uid, ids, context=context
        )

你可以这样写:

from openerp import osv
from openerp.tools.translate import _

def unlink(self, cr, uid, ids, context=None):
    for item in self.browse(cr, uid, ids, context=context):
        if item.invoice_id.state != 'draft':
           raise osv.except_osv(_('User Error!'),_('Error Text'))

    return super(account_deferred_income_charges, self).unlink(cr, uid, ids, context=context)