Django:如何在AJAX脚本中访问模型ID?

时间:2012-07-16 21:43:20

标签: django

我想知道什么是正确的方法,

我是否在我的ModelForm中创建了HiddenInput字段     视图我传入了我要编辑的模型的primaryKey     hiddenInput字段然后从中获取那些hiddenInput字段     AJAX脚本就像这样使用它?

item.load(
        "/bookmark/save/" + hidden_input_field_1,
        null,
        function () {
          $("#save-form").submit(bookmark_save);
        }
);

或者是否有一些更聪明的方法,我不知道?

由于

2 个答案:

答案 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或对象。