Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
django-tables2:添加模型中找不到的新自定义列_Django_Django Tables2 - Fatal编程技术网

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