장고 서버에서 오브젝트 값 받아오기

won·2022년 10월 20일
0

팔로우 기능을 구현하기 전 친구찾기 부분을 추가하려고 시도 중

def search_friend(request):
    if request.method=='POST':
        search_name = request.POST.get('search_user')
        find_user = User.objects.get(email = search_name)
        print(find_user)
        print(search_name)

        if not find_user:
            return render(request, 'index.html', {'error':'user가 없습니다.'})
        else:
            context={
                'find_user':find_user
            }
            return render(request, 'user/find_user.html',context )
    else:
        return render(request, 'user/find_user.html')

이렇게 해서 context로 친구를 넘겼을때 지금은 get으로 값을 바꿨지만 처음엔

find_user = User.objects.filter(email = search_name)

filter를 사용했다. 이렇게 값을 넘기니

이렇게 내가 원한 값이 아니라 아무것도 나오지 않았다.

<div>{{find_user.username}}</div>
<div>{{find_user.email}}</div>
<div>{{find_user.id}}</div>
<div>{{find_user.nickname}}</div>
<div>{{find_user}}</div>

이렇게 여러개를 써보았는데 마지막 find_user만 결과값이 떴는데 그 마저도 object 이런식으로 객체만 떴다.
이걸로 또 잠시 씨름을 했는데 결과적으로 filter를get으로 바꾸니 원하는 값들이 나왔다.

filter를 사용하면 여러개의 값이 나와서 쿼리셋으로 결과값이 나온다.
그래서 for문을 돌려서 값을 하나하나 출력해주는 방식으로 해주어야 하는 것이었다.

get으로 바꿔보길 잘했지. 아니었으면 또 결과값 찾느라 고생했을 것이다.
이제 팔로우 기능을 만들어 보자!

profile
어찌저찌 굴러가는 개발자

0개의 댓글