onetoonefield를 처음 사용해보아서 다양한 오류를 만났다
사실 어떤 오류인지 확실히 알지는 못하였으나 결과적으로 잘 동작하는 코드를 만들기까지 다양한 시행착오를 겪었다
유저와 프로필이 1ㄷ1로 연결되어있고, 프로필 클래스 안에 follow를 구현해놓았기 때문에 프로필에서 바로 유저의 아이디나 pk usermane을 접근하는 것이 아닌 profile과 profile이 팔로우 되는 형태였다.
그리고 onetoone으로 연결했다고해서 자동적으로 프로필이 생성되는 것이 아닌 회원가입을 함과 동시에 프로필이 만들어지도록 작성해주었다.
@require_POST
def follow(request, username):
if request.user.is_authenticated:
# member = get_object_or_404(Profile, user__username=username)
member = Profile.objects.get(user__username=username) # 조화하려는 프로필
now_user = Profile.objects.get(user__username=request.user.username) # 현재 로그인한 유저
print("----------------------")
print(member)
print(member.followers.all())
print("----------------------")
if member != now_user:
if now_user in member.followers.all():
member.followers.remove(now_user)
print("follow_cancel")
else:
member.followers.add(now_user)
print("follow_success")
return redirect("users:profile", username=member.user.username)
else:
return redirect("accounts:login")
오류를 해결하기까지 오랜 시간이 걸렸지만, 이해했다는 것에 만족한다...
'[내일배움캠프]스파르타코딩클럽 AI 웹개발 > Today I Learned' 카테고리의 다른 글
[TIL] annotate (0) | 2024.08.27 |
---|---|
[TIL] (0) | 2024.08.26 |
[TIL] models.py 코드 리팩토링 (0) | 2024.08.22 |
[TIL] (0) | 2024.08.21 |
[TIL] (0) | 2024.08.20 |