앞으로 세션때 있을 내용이긴 한데, 이미 에러가 발생한 상황이라
이걸 써야하는 이유만 설정하고 나머지는 배운다음 포스팅 예정ㅎ
인스타그램 팔로우 기능을 구현할건데, 여기서 가장 중요한 건 유저이다.
팔로우 한 사람, 팔로우 당한 사람 모두 User의 정보를 가져오므로
둘 다 foreignkey가 user가 되는데, users 앱에서 following앱을
참조할 일이 있을 때 저렇게 참조한다고만 써놓으면 누굴 참조해야하지?
그래서 makemigrations를 할 때, 맨 마지막줄에 알려준다
Add or Change a related_name to ...
만약 하나의 컬럼만 user를 참조한다고 하면, user = following.user_set.all()
이런식으로 참조가 가능하다.
하지만 하나의 앱을 여러명이 참조할 경우, 그걸 구분해주기 위해서 사용하는 게 related_name 이다.
그래서 설정을 해주는데, 변수명을 어케 설정하지?
국룰은 해당 클래스명을 써준다고 한다.
from django.db import models
from users.models import TimeStampedModel
class Following(TimeStampedModel) :
following = models.ForeignKey('users.User', on_delete=models.CASCADE)
follower = models.ForeignKey('users.User', on_delete=models.CASCADE)
class Meta :
db_table = 'followings'
현재 클래스명은 Following이니 following_? 이렇게 나눠주면 된다