2017-10-04 34 views
1

我会从列表填充django-tables2列表和我下面的教程示例:编程设置从列表填充,当一个表中的列

import django_tables2 as tables 

data = [ 
    {'name': 'Bradley'}, 
    {'name': 'Stevie'}, 
] 

class NameTable(tables.Table): 
    name = tables.Column() 

table = NameTable(data) 

我的问题是,我不知道这是所需的字段,所以对我来说能够在运行时从名称列表中指定它们会很好。例如:

needed_columns = ["name"] 
class NameTable(tables.Table): 
    for field in needed_columns: 
     ADD_FIELD(field, tables.Column()) 

这是可能的某种方式?

回答

0

Django的tables2的Table有一个构造器参数extra_columns

extra_columnsstr,列) - 名单(姓名,列)的元组 包含额外的列添加到该实例。

你可以用它来动态地添加列在实例表:

class MyTable(tables.Table): 
    name = tables.Column() 

table = MyTable(data, extra_columns=[ 
    ('country', tables.Column()) 
]) 

你可以看看how that is implemented来看看如何将列添加到表类。