Как получить информацию из строки Django tables2?

Я объявил таблицу и хочу получить значение строки, которое проверяется с помощью checkboxfield. Любая помощь, как я могу написать это событие в моих представлениях, чтобы каждый раз, когда я выбираю строку и нажимаю кнопку отправки, она возвращает значения строки.Код выглядит так:

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

и в "Мои шаблоны", кнопка "Отправить".

1 ответов


нужно выбрать подходящее значение для CheckBoxColumn. Как правило, если вы отображаете queryset, вы будете использовать 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/. В вашем случае view нужно будет посмотреть на 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:
        # ...