Grazie.
@api.compute non la conosco. La devo studiare.
Ma ho il sospetto che anche qualcosaltro non funzioni e forse dipende tutto da quello.
In pratica si potrebbe ereditare(_inherit) sulla definizione "product_id_change" che si trova appunto in sale.order.line.
Il problema sta, secondo me, nel fatto che dovrei ereditare anche "product_packaging_change" e "product_packaging_change" che entrambi si trovano in "sale_stock" e che ereditano anch'esse sale.order.line.
Non ho ben capito se per modificarle devo cambiare la UI oppure soprascriverle ereditando da sale.stock.
Perché se le eredito e sovrascrivo direttamente da   sale.order.line non succede niente.
Esempio:
class sale_order_line(models.Model): # nel mio modulo
    _inherit = 'sale.order.line'
	def product_packaging_change(self, pricelist, product, qty=0, uom=False,
                                    partner_id=False, packaging=False, flag=False, context=None):
        print "***** self.product_packaging prima *****", self.product_packaging
        res = super(sale_order_line, self).product_packaging_change(cr, uid, ids, pricelist, product, qty=qty, uom=uom,
                                    partner_id=partner_id, packaging=packaging, flag=flag, context=context)
        print "***** self.product_packaging *****", packaging
        print "***** res *****", res
        if packaging:
            # self.product_uom_qty_tot = self.product_packaging.qty
            pass
        return res
    def product_id_change_with_wh(self, cr, uid, ids, pricelist, product, qty=0,
                uom=False, qty_uos=0, uos=False, name='', partner_id=False,
                lang=False, update_tax=True, date_order=False, packaging=False, fiscal_position=False, flag=False, warehouse_id=False, context=None):
            # context = context or {}
            print "***** product_id_change_with_wh *******"
Lo so fa schifo ma rende l'idea. In pratica non succede nulla è come se _inherit non sortisse alcun effetto.
Grazie.