Issue in chaning property of Child table Select field

Hi Guys,
There is another issue i was faced, I have an setting single doctype in which a table name Grades with Marks, user will add Grade like A, B, C with marks in this table. There is another child table “GD Interview Details” on Interview doctype having a Select field as Grade. I was trying to bring all the grades added in Grades with Marks table as Options of this Grade field, I tried 2 approach to achieve this both works but we can partially, Let me first show the approach
1] using frappe.meta.get_docfield

set_option:function(frm){
frappe.call({
            method:"pradan.pradan.custom_scripts.interview.interview.get_grades",
            freez:true,
        }).then(r=>{
            if(r.message){
                frappe.model.get_children(cur_frm.doc, "group_discussion_details").forEach(e=>{
         frappe.meta.get_docfield("GD Interview Details","grade", e.name).options = r.message;
                })
                frm.refresh_field("group_discussion_details")
            }
        })
}

This event called on both refresh and reload
2] Using set_df_property

set_option:function(frm){
frappe.call({
            method:"pradan.pradan.custom_scripts.interview.interview.get_grades",
            freez:true,
        }).then(r=>{
            if(r.message){
                frappe.model.get_children(cur_frm.doc, "group_discussion_details").forEach(e=>{
         cur_frm.set_df_property("group_discussion_details","options",r.message,frm.doc.name,"grade",e.name)
                })
                frm.refresh_field("group_discussion_details")
            }
        })
}

This event called on both refresh and reload

this works but when i open another record 3 to 4 times in interview on which this table is not present after this open record having this table then the very first record in GD Interview Details table did not show options as expected. Did anyone face the issue like this? if did so how overcome this.