0

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

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

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

有人有解决方案吗?

4

1 回答 1

1

BaseDatatableViewimplementsDatatableMixinget_columns一个默认实现的方法

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

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

于 2016-04-29T16:24:05.337 回答