2010-03-30 3 views
0

이전 버전과 관련 분야의 특성에 의한 주문하십시오 포스트코멘트 :장고 : 나는이 두 가지 모델 일대 관련 한

class Post(models.Model): 
    title = models.CharField(max_length=200); 
    content = models.TextField(); 

class Comment(models.Model): 
    post = models.ForeignKey('Post'); 
    body = models.TextField(); 
    date_added = models.DateTimeField(); 

내가 주문한 게시물의 목록을 얻으려면 최신 코멘트의 날짜. 사용자 지정 SQL 쿼리를 작성하면 다음과 같습니다.

django ORM을 사용하여 동일한 작업을 수행하려면 어떻게해야합니까?

답변

2
from django.db.models import Max 

Post.objects.distinct() \ 
      .annotate(date_of_last_comment=Max('comment__date_added')) \ 
      .order_by('-date_of_last_comment') 
+0

고마워요! 별개() 없이도 작동합니다. 그게 필요 할까? –

+0

죄송합니다 - 'distinct()'는 이전 버전의 답안에서 나왔습니다. 그것은 아마없이 작동합니다. –

관련 문제