如何在Django-tables2中订购

时间:2015-08-13 01:57:40

标签: python django django-models django-tables2

我在我的项目中实现了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

1 个答案:

答案 0 :(得分:1)

要在Django-tables2中创建一个可订购的列,您只需要添加

orderable=True

到列中,当您在模板中呈现该表将可订购时。

你的专栏应该是这样的:

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

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