Как определить динамическое количество столбцов в django-datatables-view
Я использую django-datatables-view (который используется вместе с плагином jQuery DataTables). Для обычного использования я создаю представление на основе классов на основе BaseDatatableView и определяю там переменную столбцов:
class MyCBV(LoginRequiredMixin, BaseDatatableView):
model = myModel
columns = ['my_model_column1','my_model_column2']
...
Теперь я хотел бы создать переменное количество столбцов на основе параметра. Я могу получить доступ к параметру в функциях CBV, но, похоже, я не могу перезаписать переменную столбцов. Например, я попытался перезаписать переменную столбцов в функции get_context_data, но столбцы сохранили свое первоначальное значение позже в функции render_column.
У кого-нибудь есть решение?
1 ответ
BaseDatatableView
инвентарь DatatableMixin
у которого есть метод get_columns
с реализацией по умолчанию
def get_columns(self):
""" Returns the list of columns that are returned in the result set
"""
return self.columns
Вы можете переопределить его и передать свои пользовательские столбцы здесь (используя ваш параметр)