Как получить информацию из строки 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:
# ...