objective | 월 | 화 | 수 | 목 | 금 |
---|---|---|---|---|---|
관리자 페이지 마무리, 릴리프톡 서비스 이용 | 관리자 페이지 마무리 | 릴리프톡 서비스 이용 | 릴리프톡 서비스 이용 | 실서버 데이터베이스 변경 | 스크립트 변경 실서버 데이터베이스 구조 변경 |
summary가 matching을 역참조하고 있다.
summary_list = Summary.objects.filter(matching__user = user, matching__counselor = counselor).order_by("created_at")
result = [{
"matching_id" : summary.matching.id,
"summary_datetime" : summary.created_at,
"user_talk_summary" : summary.user_talk_summary,
"counselor_reply_summary" : summary.counselor_reply_summary
}for summary in summary_list]
이렇게 했는데 안됐다. 너무 어이가 없었다. RelatedManager does not have attribue 'id'가 자꾸 나오는데 이건 보통 역참조 관계일 때 엮인 필드가 없을 때 나오는 에러이다. 하지만 데이터베이스에는 잘만 나오고 summary.matching.id
를 프린트해보면 service.Matching.None이라고 나온다. onetomany field라 그런가 하고 unique = True 옵션을 붙여보았지만 그래도 안됐다. 결국엔 values_list를 활용해서 딕셔너리 탐색을 했는데 이건 왜 되는지 모르겠다. 왤까.
summary_list = Summary.objects.filter(matching__user = user, matching__counselor = counselor).order_by("created_at").values("matching__id", "created_at", "user_talk_summary", "counselor_reply_summary")
result = [{
"matching_id" : summary["matching__id"],
"summary_datetime" : summary["created_at"],
"user_talk_summary" : summary["user_talk_summary"],
"counselor_reply_summary" : summary["counselor_reply_summary"]
}for summary in summary_list]