我有一个Django模型,当列表可编辑中列出的字段触发了更改事件时,我正试图从Admin change_列表视图更新该模型.现在保存更新的唯一方法是单击"保存"按钮,然后重新加载页面.我根本不想重新加载页面.我只想让它异步更新模型.
例如,我有以下模型.
class Example(models.Model):
name = models.CharField()
hide = models.BooleanField(default=False)
在我的管理表格里
class ExampleAdmin(admin.ModelAdmin):
list_display = [
"name",
"hide"
]
list_editable = [
"name",
"hide"
]
现在查看示例的更改列表时,我将看到列出的值,其中包含一个可编辑的文本输入"名称"和一个"隐藏"复选框.
我想监听这些输入上的事件,当它们被触发时,发送一个异步请求来更新特定的模型.
UPDATE
这就是我现在拥有的.
window.addEventListener("load", function() {
(function($) {
$(".field-name .vTextField").on("change",function (event) {
$('#changelist-form').submit()
})
$('#changelist-form').submit(function(event) { // On form submit event
$.ajax({ // create an AJAX call...
data: $(this).serialize(), // get the form data
type: "POST", // GET or POST
url: $(this).attr('action'), // the file to call
success: function(response) { // on success..
console.log(response)
},
error: function(e, x, r) { // on error..
console.log(e)
}
});
event.preventDefault()
return false;
});
})(django.jQuery);
})
我可以在网络请求中看到这种触发,并可以验证正在发送的序列化数据是否已更新.响应是200,但当我刷新页面时,数据尚未更新.
UPDATE