장고 검색 기능 구현에서 질문드리겠습니다.

같이 올려야 하는데, 따로 올려서 죄송합니다.

def index(request):
    """
    pybo 목록출력
    """
    # 입력 파라미터
    page = request.GET.get('page', '1')  # 페이지
    kw = request.GET.get('kw', '')  # 검색어

    # 조회
    question_list = Question.objects.order_by('-create_date')
    if kw:
        question_list = question_list.filter(
            Q(subject__icontains=kw) |  # 제목검색
            Q(content__icontains=kw) |  # 내용검색
            Q(author__username__icontains=kw) |  # 질문 글쓴이검색
            Q(answer__author__username__icontains=kw)  # 답변 글쓴이검색
        ).distinct()``

여기서 # 답변 글쓴이검색 에 질문 있습니다.

Question 모델은 answer 속성이 따로 없고 Answer 모델과 역참조 관계에 있는데 어떤식으로 answer__author__username이 바로 나올 수 가 있는건가요?

만약 answer_list를 필터링한다면 post__author__username은 된다고 생각하는데, 위의 코드와 같은 경우는 Question 모델이 Answer 모델의 쿼리셋을 먼저 찾는 선행작업이 이루어져야 하지 않나요?

sahayana 360

2021년 9월 23일 8:01 오후

장고 shell에서 임시로 구현해봤는데 역시 field값을 찾지 못한다고 나오네요 - sahayana님, 2021년 9월 23일 9:14 오후 추천 , 대댓글
@sahayana님 다음 문서 참고해 보세요. https://docs.djangoproject.com/en/3.2/topics/db/queries/#lookups-that-span-relationships - 박응용님, 2021년 9월 23일 9:52 오후 추천 , 대댓글
@박응용님 도움 많이 되었습니다. 감사합니다. - sahayana님, 2021년 9월 24일 12:22 오후 추천 , 대댓글
목록으로