문제

이 상황에서는 댓글과 점수의 두 가지 모델이 있습니다. 관계는 점수 모델에서 다음과 같이 정의됩니다.

class Comment(models.Model):
    content = TextField()
    ...

class Score(models.Model):
    comment = models.ForeignKey(Comment)
    value = models.IntegerField()

내 질문은 : 모든 의견을 반환하고 점수 값으로 주문하는 쿼리 세트를 어떻게 구성합니까?

미리 감사드립니다!

남자 이름

도움이 되었습니까?

해결책

외국 키가 아닌 OnetoOne 필드를 사용하도록 점수 모델을 변경해야합니다. FK는 코멘트 당 점수가 두 개 이상 있음을 의미합니다.

그러나 어느 쪽이든, 쿼리는 다음과 같이 수행 할 수 있습니다.

Comment.objects.order_by('score__value')

다른 팁

나는 여전히 Django를 처음 접했지만 몇 달 동안 일하고 있습니다. 이 스 니펫이 작동 할 수 있다고 생각합니다 (오름차순으로, 사용 하강 '-value'):

comments = [ score.comment for score in Score.objects.order_by('value').all() ]
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top