django-tables2:添加模型中找不到的新自定义列
我有下表:django-tables2:添加模型中找不到的新自定义列,django,django-tables2,Django,Django Tables2,我有下表: class TaskTable(tables.Table): def render_foo(self): raise Exception() class Meta: model = Task fields = ['foo'] 对于以下型号: class Task(models.Model): priority = models.PositiveIntegerField() title = model
class TaskTable(tables.Table):
def render_foo(self):
raise Exception()
class Meta:
model = Task
fields = ['foo']
对于以下型号:
class Task(models.Model):
priority = models.PositiveIntegerField()
title = models.CharField(max_length=1024)
content = models.TextField(null=True, blank=True)
根据文档,render\u foo
如果被视为空值,则不会执行
我的要求是在模型中找不到
foo
。如何实现列foo
您必须将empty_values=()
关键字参数传递给列,以引用:
仅当确定单元格的值不是空值时,才会调用渲染方法。当值位于列.empty\u values
中时,将显示默认值(同时跳过Column.render和Table.render\u FOO
)
在您的情况下,不存在列的“值”是None
,因此如果该值位于空值中,则默认值(-
默认情况下呈现)
因此,在代码中,它可以如下所示:
class TaskTable(tables.Table):
foo = tables.Column(empty_values=())
def render_foo(self):
raise Exception()
class Meta:
model = Task