2010-07-09 3 views
0

나는 다음과 같은 두 가지 모델 다 - 대 - 다 관계의 객체를 검색하는 가장 효율적인 방법은 무엇입니까?

class Author(Model): 
    name = CharField() 

class Publication(Model): 
    title = CharField() 

을 그리고 저자의 목록을 추적하기 위해 중간 테이블을 사용합니다. 저자의 순서는 중요합니다. 그래서 나는 Django의 ManyToManyField를 사용하지 않는다.

문제는 발행물이 주어지면 발행인에게 모든 저자를 부여하는 가장 효율적인 방법은 무엇입니까?

pubentry.pubauthor_set.select_related(). order_by ('position')를 사용할 수 있지만 작성자 이름에 액세스 할 때마다 하나의 쿼리가 생성됩니다.

답변

0

나는 그 해답을 발견했다. 출판물에서

:

def authors(self): 
     return Author.objects.all().filter(
      pubauthor__pubentry__id=self.id).order_by('pubauthor__position') 
관련 문제