테이블 형식으로 데이터를 렌더링하기 위해 django tables2를 사용하고 있습니다. 페이지를로드 할 때 기본적으로 column1로 테이블을 정렬하길 원합니다. 열을 클릭하면 정렬 작업이 수행되지만 페이지로드시이 정렬이 기본적으로 정렬되기를 원합니다. 데이터베이스 SQLite는 경우장고 테이블 2 - 페이지로드시 테이블 열을 정렬하는 방법은 무엇입니까?
답변
, 시도 :
results = model_name.objects.extra(select={'model_field':'CAST(model_field AS INTEGER)'}).order_by('model_field')
return render(request, template_name, {"results":results})
Table
생성자는 order_by
-argument 있습니다. 이를 사용하여 초기 주문을 설정할 수 있습니다.
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
내 테이블을 정렬하지만 다른 정렬 필드는 작동하지 않습니다. 성만 정렬됩니다 –
정렬 할 열 튜플을 전달할 수도 있습니다. 그러나 그것은 당신이 물어 본 질문이 아닙니다. – Jieter
작업 테이블 정렬을 요청했습니다. order_by를 주면 orders_by 성으로 표가 표시됩니다. 기본적으로 성 이름 열의 정렬 아이콘 (아래쪽 화살표)이 선택됩니다. 이 경우 다른 열을 선택하면 정렬이 작동하지 않습니다. order_by를 제거하면 다른 컬럼에서도 정렬이 잘됩니다. –
문제는 장고 - 테이블 2, 정기적으로하지 검색어 세트의 렌더링 테이블을 정렬에 관한 것입니다. – Jieter