1

<tr>ID として PK を持つ複数のテーブルがあります。これらを Django 1.5 ビューに POST しようとし<tr>ていますが、データを適切に送信する方法がわかりません。

この JavaScript 関数を作成し、正常に投稿しましたが、selected_rows の ID を送信する方法と、クラス ベースの Django ビューでそれらを取得する方法がわかりません。

function update() {
    var selected_rows = $(".ui-selected");
    $.ajax({
        type: "POST",
        url: "/confirm/",
        data: { name: "selected_rows" },
        success: function(data) {
            selected_rows.addClass('success');
        }
    });
}

Djangoのビューは次のようなものだと思います

class ConfirmView(TemplateView):
    def post(self, queryset=None):
        return HttpResponse("POST")

私も試してみました

function update() {
    var selected_rows = $(".ui-selected");
        selected_rows.each(function() {
            $.ajax({
            type: "POST",
            url: "/confirm/",
            data: { id: $(this).attr("id") },
            success: function(data) {
                $(this).addClass('success');
            }
        });
    });
}

class ConfirmView(TemplateView):
    def post(self, queryset=None):
        if self.request.POST['id']:
            ModelName.objects.filter(pk=self.request.POST['id']).update(is_confirmed=True)
        return HttpResponse("POST")

ただし、上記のように分割するのではなく、同じデータベースクエリですべての行を処理する方がよいと思います。でも、上記のように分割すれば、ちゃんと更新されたか確認できるので、そちらの方がいいのではないでしょうか?

4

1 に答える 1