我正在使用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函数中保留其原始值。
有人有解决方案吗?
答案 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
您可以覆盖它并在此处传递您的自定义列(使用您的参数)