내 구체적인 경우에는 두 가지 종류의 "메시지"가 있습니다. 다시 검색하고 페이지 매김해야합니다. django 사용 어떻게 분리 된 모델의 두 개의 쿼리를 하나의 쿼리로 결합 할 수 있습니까?
의이 세부 사항을 생략하자, 단지 제 1 종은 MSG2이 두 모델의 필드를 Msg1을라는 모델이고 다른 하나가 호출되는 것을 말하는 공통되는 완전히 다른, 유일한 필드는 두 모델은 "날짜"와 "제목"(물론 ID)입니다.
나는 Msg1.objects.all()
과 Msg2.objects.all()
을 얻을 수 있지만이 두 쿼리를 하나의 쿼리로 결합하여 날짜순으로 정렬하고 페이지 매김 할 수 있습니까?
쿼리의 지연 성을 유지해야합니다.
평범한 해결책은 list(query)
입니다. 둘 다 쿼리하여 파이썬 목록에 결합하십시오. 그러나 이는 분명한 이유로 비효율적입니다.
모델 및 dp-api에서 django 참조를 살펴 보았지만 다른 모델/테이블의 쿼리를 하나로 결합하는 방법은없는 것으로 보입니다.
"비효율적 인 이유는 분명합니다." 측정 항목이 있습니까? 비효율적 인 이유가 분명하지 않기 때문에 묻습니다. –
일단 내가 (쿼리)를 나열하면 모든 결과가 나오고 가능한 한 늦게 나가기를 원하기 때문에 생각합니다. –
은 페이지 당 20 개 정도만 표시하면서 모든 항목 (1000 일 수 있음)에 대한 데이터베이스를 조회하므로 비효율적입니다. – hasen