我在视图中实例化了我的表。
View.py
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})
使用数据数据的数据和基因主义者的新闻列的名称列表。
tables.py
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'}
问题是,当我第一次运行代码时,我就需要全部。但是,如果我第二次运行代码,则表模型将保留前面定义的列。
如何删除这些列?
如果您像我一样,来自Google想要删除专栏。从表格中,考虑使用记录的exclude
。例如:
table1 = ResistanceTable(data, exclude="coumn_name_to_exclude")
使用 extra_columns
参数到表构造函数。
extra_columns
(str,列( - (名称,列(列表 - 包含 添加到实例的额外列。
这将确保在将额外的列添加到表实例之前,请确保副本由Table.base_columns
制成。