我在我的项目中实现了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
答案 0 :(得分:1)
要在Django-tables2中创建一个可订购的列,您只需要添加
orderable=True
到列中,当您在模板中呈现该表将可订购时。
你的专栏应该是这样的:
validation_time = tables.Column(accessor='model.history', orderable=True, verbose_name="Validation Time")
如果您要覆盖渲染方法,我不知道这是否会按预期工作