How to get information from Django_tables2 row?

后端 未结 1 1851
既然无缘
既然无缘 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条回答
  • 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.:

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

    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)
提交回复
热议问题