如果有人想要添加、更新和删除的完整解决方案:
window.djangoDismissChangeRelatedObjectPopup = window.dismissChangeRelatedObjectPopup;
window.dismissChangeRelatedObjectPopup = function dismissChangeRelatedObjectPopup(win, objId, newRepr, newId) {
const id = win.name.replace(/^edit_/, '');
const selectsSelector = interpolate('#%s, #%s_from, #%s_to', [id, id, id]);
const selects = $(selectsSelector);
window.djangoDismissChangeRelatedObjectPopup(win, objId, newRepr, newId);
selects.trigger('change');
};
window.ORIGINAL_dismissAddRelatedObjectPopup = window.dismissAddRelatedObjectPopup;
window.dismissAddRelatedObjectPopup = function(win, newId, newRepr) {
ORIGINAL_dismissAddRelatedObjectPopup(win, newId, newRepr);
const name = win.name;
const elem = document.getElementById(name);
$(elem).trigger('change');
};
window.ORIGINAL_dismissDeleteRelatedObjectPopup = window.dismissDeleteRelatedObjectPopup;
window.dismissDeleteRelatedObjectPopup = function(win, objId) {
ORIGINAL_dismissDeleteRelatedObjectPopup(win, objId);
const id = win.name.replace(/^delete_/, '');
const selectsSelector = interpolate('#%s, #%s_from, #%s_to', [id, id, id]);
const selects = $(selectsSelector);
selects.trigger('change');
}