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