我在视图中实例化了我的表格。
def my_function():
...
...
#init a new table with data and news columns !!!!!
table = ResistanceTable(data=data,newscolumns=geneList)
return render(request, 'page.html', {'table': table})
数据是dict of data和geneList是新闻列的名称列表。
class ResistanceTable(tables.Table):
souche = tables.Column();
column_default_show = ['souche']
def __init__(self, data, newscolumns, *args, **kwargs):
if newscolumns:
for col in newscolumns:
self.base_columns[col] = tables.Column(verbose_name=col)
super(ResistanceTable, self).__init__( data, newscolumns, *args, **kwargs)
class Meta:
attrs = {'class': 'table table-bordered table-striped table-condensed'}
问题是当我第一次运行我的代码时,我有我想要的一切。但是如果我第二次运行我的代码,表模型将保留先前定义的列。
如何删除这些列?
答案 0 :(得分:0)
使用extra_columns
argument to the table constructor.
$variableName = session('variableName')
(str,Column) - 包含的(名称,列)-tuples列表 要添加到实例的额外列。
这将确保在将额外列添加到表实例之前复制extra_columns
。