我想知道什么是正确的方法,
我是否在我的ModelForm中创建了HiddenInput字段 视图我传入了我要编辑的模型的primaryKey hiddenInput字段然后从中获取那些hiddenInput字段 AJAX脚本就像这样使用它?
item.load(
"/bookmark/save/" + hidden_input_field_1,
null,
function () {
$("#save-form").submit(bookmark_save);
}
);
或者是否有一些更聪明的方法,我不知道?
由于
答案 0 :(得分:0)
这取决于您希望如何实施。 基本思想是编辑1.您需要获取现有实例,2。将提供的信息保存到此对象中。
对于#1,您可以通过多种方式执行此操作,例如在ID
等网址中传递http://myserver/edit_object/1
或任何其他主键(如属性),或者将ID
作为隐藏输入传递,然后您必须通过模板来做。
对于#2,我想你已经知道了。做点什么
inst = MyModel.objects.get(id=input_id) # input_id taken as per #1
myform = MyForm(request.POST, instance=inst)
if myform.is_valid():
saved_inst = myform.save()
答案 1 :(得分:0)
我刚刚在django IRC房间里问过,它说:
因为js不是由django模板引擎处理的,所以不是 可能的。
因此,无法在AJAX脚本中访问从django视图传入的id或对象。