我有下表:
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_foo
视为空值,则不会执行foo
。
我的要求是在模型中找不到foo
。如何实施专栏dist
?
答案 0 :(得分:0)
您必须将empty_values=()
关键字参数传递给该列,引用the docs:
仅当确定单元格的值不是空值时,才会调用渲染方法。当值为
Column.empty_values
时,将呈现默认值(跳过Column.render和Table.render_FOO
)。
在您的情况下,'值'对于您的不存在列,None
,如果该值在empty_values
中,则会默认显示默认值(-
)。
所以在代码中,它看起来像这样:
class TaskTable(tables.Table):
foo = tables.Column(empty_values=())
def render_foo(self):
raise Exception()
class Meta:
model = Task