Not able to set different uom using customscript

i am trying to set item_code,qty,uom from other doctype and i can see values in js console but setting uom value is not working …i think it always taking default uom from item master on item_code selection

frappe.call({
    method: "query from my custom app",
    args:{
        'contracts': frm.doc.contracts
    },
    callback:function(s){
        if(!s.exc){
            if(s.message != undefined){
                console.log(s.message);
                for (var i=0; i<s.message.length; i++){
                    var d = frm.add_child("items");
                    var item = s.message[i];
                    frappe.model.set_value(d.doctype, d.name, "item_code", item.item_code);
                    frappe.model.set_value(d.doctype, d.name, "qty", item.qty);
                    frappe.model.set_value(d.doctype, d.name, "uom", item.uom);
                    frm.refresh_field("items");
                }
            }                      
        }
    }
})

how do i set uom (uom is not sames as default unit of measure in item master). Is that making problem . Then how can i resolve?