장고 검색 기능 구현에서 질문드리겠습니다.
같이 올려야 하는데, 따로 올려서 죄송합니다.
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 님 452
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 오후
추천
,
대댓글