8

我已经声明了一个表并想要获取使用复选框字段检查的行的值。任何帮助,我如何在我的视图中编写此事件,以便每次我选择一行并点击提交按钮时,它都会返回该行的值。代码如下:

    class mytables(tables.Table):
          new_database = tables.CheckBoxColumn()
          student =tables.Column(accessor='Student')
          Class = tables.Column(accessor='class')

在我的模板中有一个提交按钮。

4

1 回答 1

21

您需要为CheckBoxColumn. 通常,如果您要显示查询集,您将使用pk每个对象的CheckBoxColumn. 在你的情况下,这看起来像:

class EnrollmentTable(tables.Table):
    selection = tables.CheckBoxColumn(accessor='pk')
    student = tables.Column()
    class = tables.Column()

然后您需要在表单中呈现表格,以便用户可以提交表单,例如:

<form action="/someurl/" method="post">
    {% load render_tables from django_tables2 %}
    {% render_table table %}
    <input type="submit"/>
</form>

然后你需要一个连接到/someurl/. 在您的情况下,视图将需要查看POST变量selection

def someview(request):
    if request.method == "POST":
        pks = request.POST.getlist("selection")
        selected_objects = SomeModel.objects.filter(pk__in=pks)
        # do something with selected_objects
    else:
        # ...
于 2012-06-02T07:49:42.630 回答