Django-tables2 - 如何为所有列设置默认值?

Django-tables2 - how to set default value for all columns?

Django-tables2 在单元格中没有值的情况下呈现双破折号。我们可以更改它,明确地为每一列指定 default 属性。

我可以一次对所有列执行此操作吗?

当然,我尝试重写 __init__ 方法,但是 Table.columns 无法修改,而且 Table.base_columns 似乎会导致同样的问题。

def __init__(self,*args,**kwargs):
    for name,col in self.base_columns.items():
        col.default = ''

    super(DopytyTable,self).__init__(*args,**kwargs)

加注

col.default = '' 
AttributeError: can't set attribute

我还没有想出如何在 __init__ 方法中修改列,但有更简单的方法可以做到这一点。不幸的是,它没有记录在案,但它对我来说工作正常。

只需将 default 属性添加到 class Meta:

class Table(Table):
    class Meta:
        default = ''