【问题标题】:How to order by in Django-tables2如何在 Django-tables2 中订购
【发布时间】:2015-08-13 01:57:39
【问题描述】:

我已经在我的项目中实现了 django-tables2。但我无法按其中一个字段(我从应用程序(模型)外部调用)进行排序。当我单击 GUI 中的订购按钮时,它没有按预期工作。

以下是代码:

validation_time = tables.Column(accessor='model.history', verbose_name="Validation Time")

这是调用该字段的代码:

def render_validation_time(self, value):
    try:
        x = value.filter(field_name__iexact='status').latest('id')
        validated_time = datetime.fromtimestamp(int(x.date_modified)).strftime('%a, %d %b %Y %H:%M:%S')
    except ObjectDoesNotExist:
        return "--"
    else:
        return validated_time

【问题讨论】:

  • 需要预处理吗?

标签: python django django-models django-tables2


【解决方案1】:

要在 Django-tables2 中使列可排序,您只需添加

orderable=True

到列,当您在模板中呈现表格时,该字段将是可排序的。

你的专栏应该是这样的:

validation_time = tables.Column(accessor='model.history', orderable=True, verbose_name="Validation Time")

如果您要覆盖渲染方法,我不知道这是否会按预期工作

【讨论】:

    猜你喜欢
    • 2011-02-23
    • 2017-09-14
    • 1970-01-01
    • 1970-01-01
    • 2021-12-27
    • 2018-07-28
    • 2019-10-03
    • 1970-01-01
    • 2013-11-19
    相关资源
    最近更新 更多