팀 프로젝트 도중 검색기능이 게시글만 검색되도록 되어있었다.
@login_required(login_url='')
def search(request):
if request.user.is_authenticated:
if request.method == "GET":
search_keyword = request.GET.get("q", "")
comment_form = CommentForm()
posts = Post.objects.filter(caption__contains=search_keyword)
serializer = serializers.PostSerializer(posts, many=True)
return render(request, 'post/posts.html', {'posts': serializer.data, 'comment_form': comment_form})
검색 기능이 게시글의 내용뿐 아니라 작성자도 포함하게 추가했다.
# 검색어가 포함된 caption과 username을 모두 찾음
posts = Post.objects.filter(Q(caption__contains=search_keyword) | Q(
author__username__contains=search_keyword))
DB 쿼리에서 or조건을 쓰고싶을때 사용