Article
모델과 관련된 Read
모델이 있습니다. 제가하고 싶은 것은 기사가 유일하고 date_added
에 의해 주문 된 쿼리 세트를 만드는 것입니다. postgres를 사용하고 있으므로 .distinct()
메서드를 사용하고 article
필드를 지정하는 것이 좋습니다. 이와 같이 :Django .order_by()와 .distinct() postgres 사용
그러나 이것은 원하는 결과를 얻지 못하고 생성 된 순서대로 쿼리 세트를 정렬합니다. Django의 설명서에서 .distinct()
및 .order_by()
에 대한 참고 사항을 알고 있지만 부작용이 있기 때문에 복제본이있을 것이며 여기에는 적용되지 않는다는 것을 알지 못합니다.
# To actually sort by date added I end up doing this
articles = sorted(articles, key=lambda x: x.date_added, reverse=True)
실제로 쿼리를 실행하기 전에 전체 쿼리가 실행되므로 많은 레코드가 있으면 매우 느려질 수 있습니다. 이미 select_related()
을 사용하여 최적화했습니다.
관련 모델과 order_by 날짜의 고유성을 가진 쿼리를 만드는 데 더 효율적이고 효과적인 방법이 있습니까?
UPDATE 출력은 이상적으로는 자신의 관련 문서는 고유의 검색어에 만 (즉 파이썬 정렬) 장고 ORM을 사용하여 읽기 인스턴스의 검색어 것이다.
실행중인 Django의 버전은 무엇입니까? 'distinct'에 매개 변수를 전달하는 것은 1.4+ –
1.4에서만 가능하며 postgres를 사용하면 작동합니다 – ender