0

私は正しいアプローチは何だろうと思っていましたが、

ModelForm で HiddenInput フィールドを作成し、View から編集しようとしているモデルの primaryKey を hiddenInput フィールドに渡し、AJAX スクリプトからこれらの hiddenInput フィールドを取得して、このように使用しますか?

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

それとも、もっと賢い方法があり、私にはわかりませんか?

ありがとう

4

2 に答える 2

0

私はdjango IRCルームで尋ねたところ、次のように書かれています:

js は django テンプレート エンジンによって処理されないため、これは不可能です。

したがって、django ビューから渡された ID またはオブジェクトは、AJAX スクリプト内ではアクセスできません。

于 2012-07-20T22:32:22.627 に答える
0

実装方法によって異なります。基本的な考え方は、編集することです。1. 既存のインスタンスを取得する必要があります。2. 提供された情報をこのオブジェクトに保存します。

#1の場合、パスまたはIDURLの属性のようなその他の主キー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()
于 2012-07-17T04:09:18.060 に答える