2014-06-14 1 views
0

필자는 환상적인 주문 클래스를 사용하여 장고주를 확장하고 있습니다.이 클래스의 반환 유형은 특정 중요한 순서로 모델 목록입니다.Django는 모델 목록을 순서를 유지하는 쿼리 세트로 변환합니까?

주문을 유지하면서 모델 목록을 쿼리 세트로 변환 할 수 있습니까?

나는 아래 시도했지만 순서가 손실됩니다 :

ModelName.objects.filter(id__in=ids_ordered) 

감사합니다 사전에 어떤 도움을!

+1

그건 불가능합니다. 당신은 정말로 queryset이 ​​필요합니까? SQL 자체에서 순서를 지정할 수 있습니까? 또한 메소드 적용 순서를 변경하여 쿼리 세트를 사용하여 수행해야 할 모든 작업을 수행 한 다음 목록으로 변환하고 순서를 수행 할 수 있습니다. – knbk

+0

하지만 내 결과가 전달되는'def remove_invalid_fields'는 않습니다. (이 파일의 https://github.com/tomchristie/django-rest-framework/blob/master/rest_framework/filters.py). SQL에서는 가능할 수도 있지만 가능한 경우 id에 의존하지 마십시오. – questionman

답변

0

이것이 정확히 무엇인지 묻지는 않지만, .order_by() 메서드를 사용하여 쿼리 세트에서 순서를 설정하는 것이 완전히 가능합니다. 자세한 사항은 API documentation을 확인,하지만 당신은 같은 것을 할 수 있습니다

당신의 검색어의 상단에 자신의 공상 주문 클래스를 구축하는 경우
Entry.objects.filter(pub_date__year=2005).order_by('-pub_date', 'headline') 

이 당신에게 사용할 수 있어야합니다.

관련 문제