Не все мои колонки в 'render_table' упорядочиваются, что я могу сделать?

Я использую render_table из django_tables2 для написания таблицы, которая содержит 4 заголовка (Title, Delete, View и Export), заголовок упорядочивается, а остальные нет, проблема в том, что render_table использует класс orderable во всех элементах, как я могу это изменить?

В HTML я вызываю функцию следующим образом :

    <!--  table -->
<div class="mt-3">
    {% render_table table %}
</div>

а это мой скрипт table.py :

ENTRIES_TEMPLATE = "<a href='{% url 'form-entries' form=record.pk %}' class='btn btn-outline-info btn-small'><i class='fas fa-file'></i></a>"   
DELETE_TEMPLATE = "<a href='{% url 'dashboard-topic-delete' pk=record.pk %}' class='btn btn-outline-danger btn-small'><i class='fas fa-trash'></i></a>"
VIEW_TEMPLATE   = "<a href='{{record.pk}}' class='btn btn-outline-info btn-small'><i class='fas fa-edit'></i></a>"

EXPORT_TEMPLATE = """
<div class="btn-group">
    <button type="button" class="btn btn-outline-success dropdown-toggle" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
        Export
    </button>
    <div class="dropdown-menu">
        <a class="dropdown-item" href="{{record.get_export_url}}?type=CSV"><i class='fas fa-file-csv'></i> csv</a>
        <a class="dropdown-item" href="{{record.get_export_url}}?type=XLS"><i class='fas fa-file-excel'></i> xlsx</a>
    </div>
</div>
"""


# # id          = tables.LinkColumn('forms:form-update',kwargs={"pk":A("pk")})
responses     = tables.TemplateColumn(ENTRIES_TEMPLATE)
delete      = tables.TemplateColumn(DELETE_TEMPLATE)
view        = tables.TemplateColumn(VIEW_TEMPLATE)

export     = tables.TemplateColumn(EXPORT_TEMPLATE)



class Meta:
    model = Topic
    template_name = "django_tables2/bootstrap.html"
    fields = ("Title","view","responses","delete","export")

(Только ENTRIES_TEMPLATE должен быть заказываемым)

Вы можете установить orderable=False для столбцов, которые вы не хотите, чтобы были заказываемыми:

# responses will be orderable
responses = tables.TemplateColumn(ENTRIES_TEMPLATE)
# the following three fields won't be orderable
delete = tables.TemplateColumn(DELETE_TEMPLATE, orderable=False)
view = tables.TemplateColumn(VIEW_TEMPLATE, orderable=False)
export = tables.TemplateColumn(EXPORT_TEMPLATE, orderable=False)

Для получения дополнительной информации смотрите django-tables2 docs on ordering.

Вернуться на верх