기본적으로 나는 장고 프로젝트가 상당히 많습니다. 사용자가 다양한 전화 관련 작업을 관리 할 수있는 개인 웹 포털입니다.Django는 모델 필드 자동 정렬 방법이 있습니까?
여러 포털 페이지는 사용자에게 Model 개체 목록을 제공하고 HTML 표에 모든 특성을 나열하여 사용자가 시각적으로이 항목 목록을 볼 수 있도록합니다.
내가 겪고있는 문제는 다음과 같습니다. 장고 틱 (Django-ish) 또는 피톤 틱 (pythonic) 방법으로 필드 이름별로 이러한 Model 개체를 정렬 할 수 없습니다. ?
def list_partylines(request):
"""
List all `Partyline`s that we own.
"""
# Figure out which sort term to use.
sort_field = request.REQUEST.get('sortby', 'did').strip()
if sort_field.startswith('-'):
search = sort_field[1:]
sort_toggle = ''
else:
search = sort_field
sort_toggle = '-'
# Check to see if the sort term is valid.
if not (search in Partyline._meta.get_all_field_names()):
sort_field = 'did'
if is_user_type(request.user, ['admin']):
partylines = Partyline.objects.all().order_by(sort_field)
else:
partylines = get_my_partylines(request.user, sort_field)
variables = RequestContext(request, {
'partylines': partylines,
'sort_toggle': sort_toggle
})
return render_to_response('portal/partylines/list.html', variables)
소트 코드는 기본적으로 사용자가있는 것/URL/sortby = model_field_name 매개 변수를 지정할 수 있습니다 : 내가 무슨 말의 예를 들어, 여기에 모든 Partyline
모델 객체를 나열하는 내보기 중 하나입니다 그런 다음 사용자가 페이지에 표시된 HTML 테이블 이름을 클릭 할 때마다 정렬 된 객체 목록을 반환합니다.
저는 모델 객체의 목록을 모두 표시하고 정렬이 필요한 다양한 앱에서 다양한 뷰를 보유하고 있으므로이 정렬을 수행하는 일반적인 방법이 있다면 그렇게하지 않아도 될지 궁금합니다.
이 질문에 약간 불명 한 점이 있으면 죄송합니다.이 질문에 올바른 방법을 찾으려고 애 쓰고 있습니다.
감사합니다.
나는 for_user 접근 방식을 좋아한다. 그게 어떻게 든 국제 대회입니까, 아니면 그냥 상식입니까? – Agos
내 프로젝트에 대한 컨벤션으로 함께 해킹 한 것뿐입니다. 그것은 논리적 인 의미로 보이고 코드를 읽을 수있게 해줍니다. –