小编Jor*_*anc的帖子

Django_tables2 类定义中的条件语句

我正在尝试根据我的对象值之一更改表行的格式。我知道如何将行属性传递给我的模板,但不知道在决定我的行在类定义中的外观时如何使用当前记录。见下文:

class OrderTable(tables.Table):
    my_id = tables.Column(verbose_name="Order number")
    status = tables.Column(verbose_name="Order status")

    class Meta:
        model = Order

        row_attrs = {
            "class": lambda record: record.status
        }
Run Code Online (Sandbox Code Playgroud)

这是我在 django_tables2 文档中读到的内容。然而,当尝试添加一些“if”时,它似乎返回 lambda 函数对象而不是值:

class OrderTable(tables.Table):
    my_id = tables.Column(verbose_name="Order number")
    status = tables.Column(verbose_name="Order status")

    class Meta:
        model = Order

        print(lambda record: record.status)

        if lambda record: record.status = '0':
            row_attrs = {
                "class": "table-success"
            }
        else:
            row_attrs = {
                "class": ""
            }
Run Code Online (Sandbox Code Playgroud)

我的日志中打印的内容是:<function ZamTable.Meta.<lambda> at 0x000001F7743CE430>

我也不知道如何使用“记录”属性创建自己的函数。我应该将什么传递给新创建的函数?

class OrderTable(tables.Table):
    my_id = tables.Column(verbose_name="Order number")
    status = …
Run Code Online (Sandbox Code Playgroud)

django django-tables2

4
推荐指数
1
解决办法
651
查看次数

标签 统计

django ×1

django-tables2 ×1