def onchange_partner_id(self, cr, uid, ids, type, partner_id, date_invoice=
    False, payment_term=False, partner_bank_id=False, company_id=False):
    res = super(account_invoice, self).onchange_partner_id(cr, uid, ids,
        type, partner_id, date_invoice=date_invoice, payment_term=
        payment_term, partner_bank_id=partner_bank_id, company_id=company_id)
invoice_lines = []
product_ids = self.pool.get('product.product').search(cr, uid, [], limit=5)
for p in self.pool.get('product.product').browse(cr, uid, product_ids):
    invoice_lines.append((0, 0, {'product_id': p.id, 'name': p.name,
        'account_id': p.categ_id.property_account_income_categ.id}))
res['value']['invoice_line'] = invoice_lines
return res
How to load one to many children on onchange event?