如何在django-datatables-view中定义动态列数

时间:2016-04-29 16:12:27

标签: django datatables django-datatable

我正在使用django-datatables-view(与jQuery插件DataTables一起使用)。对于正常使用,我基于BaseDatatableView创建一个基于类的视图,并在那里定义columns变量:

class MyCBV(LoginRequiredMixin, BaseDatatableView):
    model = myModel
    columns = ['my_model_column1','my_model_column2']
    ...

现在我想创建一个基于参数的变量列数。我可以访问CBV 函数中的参数,但似乎我无法覆盖columns变量。例如,我试图覆盖get_context_data函数中的columns变量,但是列稍后会在render_column函数中保留其原始值。

有人有解决方案吗?

1 个答案:

答案 0 :(得分:1)

BaseDatatableView实现DatatableMixin,其方法get_columns的默认实现

def get_columns(self):
    """ Returns the list of columns that are returned in the result set
    """
    return self.columns

您可以覆盖它并在此处传递您的自定义列(使用您的参数)