我已经声明了一个表,想要获取使用checkboxfield检查的行的值。任何帮助,我如何在我的视图中编写此事件,以便每次我选择一行并点击提交按钮,它返回行的值。代码如下:
class mytables(tables.Table):
new_database = tables.CheckBoxColumn()
student =tables.Column(accessor='Student')
Class = tables.Column(accessor='class')
在我的模板中有一个提交按钮。
答案 0 :(得分:16)
您需要为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:
# ...