인프런 커뮤니티 질문&답변

웨스님의 프로필 이미지
웨스

작성한 질문수

Django Mini project BEST 3

리뷰 작성을 추가해서 만들고 있는 중인데요 함수 구현 질문입니다.

작성

·

250

2

안녕하세요~

강의 잘 듣고 있습니다.

블로그 글에 리뷰 코멘트 작성을 할 수 있도록 기능을 만들어 보려고 하는데요,

제가 리뷰 앱을 만들고 리뷰 모델에 리뷰 글에 대한 평점을 같이 구현해 보려고 합니다.

유저들이 점수를 주면 그 점수의 평점을 구해보려고 합니다.

class Review(models.Model):
    point = models.IntegerField()
    content = models.TextField()
    user = models.ForeignKey(
        "users.User", related_name="reviews", on_delete=models.CASCADE
    )
    book = models.ForeignKey(
        "books.Book", related_name="reviews", on_delete=models.CASCADE
    )

    def __str__(self):
        return (
            f"{self.content} - {self.book}"  
        )

    def point_average(self):
        point_count = Review.objects.filter().count()
        avg = self.point / point_count
        return avg

문제는  하단에, point_average함수 구현이 생각보다 어렵습니다;;

filter 안에 값을 리뷰 글의 갯수로 넣고 싶은데 어떻게 구현해야 할지 모르겠습니다.; 

답변 주시면 감사하겠습니다.

답변 1

1

카인드패밀리님의 프로필 이미지
카인드패밀리
지식공유자

유빈님 안녕하세요 ^ ^ 새로운 도전을 해보고 계시는군요 ㅎ

음.. 제가 정확히 어떤 구현을 하시고 싶으신건지 이해가 잘 안가서요 우선 점수를 어떤식으로 받아서 넣으실건가요? 이미 point 필드에 값이 쌓이고 있는걸까요? point를 전달받아서 이미 쌓여있는 point들과 합산하는 과정이 빠져 있는게 아닐까 싶어요 이미 누적된 값들을 합산을 하시고 리뷰이 숫자로 나눠야 평균이 나오지 않을까 싶은데요? 음.. 제가 이해한게 맞나 모르겠네요 ㅠ ㅠ 여튼 유빈님 화이팅!! 

웨스님의 프로필 이미지
웨스

작성한 질문수

질문하기