How to get information from Django_tables2 row?

后端 未结 1 1860
既然无缘
既然无缘 2021-01-03 00:16

I have declared a table and want to fetch the row\'s value which is checked using checkboxfield. Any help, how can i write this event in my views so that everytime I select

1条回答
  •  慢半拍i
    慢半拍i (楼主)
    2021-01-03 00:47

    You need to choose a suitable value for the CheckBoxColumn. Generally if you're displaying a queryset, you'll use the pk of each object for the CheckBoxColumn. In your case this would look like:

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

    Then you'll need to render the table within a form, so that the user can submit the form, e.g.:

    {% load render_tables from django_tables2 %} {% render_table table %}

    Then you'll need a view hooked up to /someurl/. In your case the view will need to look at the POST variable 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:
            # ...
    

    0 讨论(0)
提交回复
热议问题