Odoo: Como substituir a função original

No Odoo, as quantidades de um produto são calculadas sempre que o formulário é aberto. Isso acontece no modelo product.product ==> function _product_available.

Esta função retorna um dicionário chamado res.

Exemplo:

res = {8: {'qty_available': 5000.0, 'outgoing_qty': 1778.5, 'virtual_available': 3221.5, 'incoming_qty': 0.0}}

Agora eu quero modificar esses valores. Eu consegui fazer isso codificando-o diretamente na função original _product_available.

Como essa não é a maneira correta de fazer isso, quero fazer isso em um modelo herdado. Eu acho que preciso substituir a função? Ou substituir? Não sei como é chamado.

Tudo o que li sobre isso é bastante vago para mim. Não consigo encontrar muitas informações ou exemplos bons. Também estou lutando com o fato de que a função original é escrita em estilo antigo (osv) enquanto estou usando um novo estilo (modelos).

A partir de informações coletadas na internet, escrevi algo assim (o que não funciona).

class product_product_inherit(models.Model): 
    _inherit = 'product.product'

    #api.v7 because of old style? Also tried .multi and .model...  
    @api.v7
    def _product_available(self, cr, uid, ids, field_names=None, arg=False, context=None):
        #example of modified values. To be made variable after this is working.
        res = {8: {'qty_available': 200.222, 'outgoing_qty': 1778.5, 'virtual_available': 30205.263671875, 'incoming_qty': 0.0}}
        result = super(C, self)._product_available(res)    
        return result

Alguém sabe a maneira correta de modificar o dicionário retornado da função original _product_available?

Como eu consegui funcionar:

class product_product_inherit(models.Model): 
    _inherit = 'product.product'

    def _product_available(self, cr, uid, ids, field_names=None, arg=False, context=None):
        for product in self.browse(cr, uid, ids, context=context):
            id = product.id
            res = {id: {'qty_available': 200.222, 'outgoing_qty': 1778.5, 'virtual_available': 30205.263671875, 'incoming_qty': 0.0}}
        return res

Apenas defini exatamente o mesmo método que no modelo original.

questionAnswers(1)

yourAnswerToTheQuestion