我在我的视图中示例化我的表。
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})
其中data是数据的字典,geneList是新闻专栏的名字列表。
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'}
问题是当我第一次运行我的代码时,我已经得到了我想要的一切。但是如果我第二次运行我的代码,表模型将保留先前定义的列。
如何删除这些列?
2条答案
按热度按时间oyjwcjzk1#
如果您和我一样,来自Google,想要从Table中“删除一列”,请考虑使用文档中的
exclude
。例如:pbgvytdp2#
对表构造函数使用
extra_columns
参数。extra_columns
(str,Column)- list of(name,column)-包含要添加到示例的额外列的元组。这将确保在将额外的列添加到表示例之前复制
Table.base_columns
。