Skip to main content
 首页 » 编程设计

python之如何在 Django-tables2 中排序

2025年05月04日30duanxz

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

请您参考如下方法:

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

orderable=True 

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

你的专栏应该是这样的:

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

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