我使用django tables2以表格形式呈现数据。我希望在页面加载时将表按column1排序为默认值。排序正在单击列,但我希望在页面加载时默认对其进行排序。
答案 0 :(得分:1)
Table
构造函数有一个order_by
- 参数。您可以使用它来设置初始排序。
import django_tables2 as tables
class Table(tables.Table):
first_name = tables.Column()
last_name = tables.Column()
def view(request):
table = Table(data, order_by='last_name')
return render(request, 'template.html', {'table': table})
Table
class Meta
class Table(tables.Table):
first_name = tables.Column()
last_name = tables.Column()
class Meta:
order_by = '-last_name' # use dash for descending order
答案 1 :(得分:-2)
如果您的数据库是SQLite,请尝试:
results = model_name.objects.extra(select={'model_field':'CAST(model_field AS INTEGER)'}).order_by('model_field')
return render(request, template_name, {"results":results})