'Update values of dst_partner with the ones from the src_partners.
:param src_partners : recordset of source res.partner
:param dst_partner : record of destination res.partner'

@api.model
def _update_values(self, src_partners, dst_partner):

    _logger.debug('_update_values    for    dst_partner:    %s    for    src_partners:    %r', dst_partner.id, src_partners.ids)
    model_fields = dst_partner._fields
    def write_serializer(item):
        if isinstance(item, models.BaseModel):
            return item.id
        else:
            return item
    values = dict()
    for (column, field) in model_fields.iteritems():
        if ((field.type not in ('many2many', 'one2many')) and (field.compute is None)):
            for item in itertools.chain(src_partners, [dst_partner]):
                if item[column]:
                    values[column] = write_serializer(item[column])
    values.pop('id', None)
    parent_id = values.pop('parent_id', None)
    dst_partner.write(values)
    if (parent_id and (parent_id != dst_partner.id)):
        try:
            dst_partner.write({'parent_id': parent_id})
        except ValidationError:
            _logger.info('Skip    recursive    partner    hierarchies    for    parent_id    %s    of    partner:    %s', parent_id, dst_partner.id)
