get_or_created
메서드는 객체를 조회할 때 유용하게 사용된다.
return 값은 (object, created)라는 튜플 형식이다.
첫번째 인자(object)는 우리가 꺼내려고 하는 모델의 인스턴스이고,
두번쨰 인자(created)는 boolean flag
이다
boolean flag
란True
또는False
를 갖는 온오프 스위치이다
created = True
라면, 첫번째 인자(object)의 인스턴스가 get_or_created
메서드에 의해 생성되었다는 것을 의미한다
created = False
라면, 이미 데이터베이스에 있던 인스턴스를 꺼내와서 첫번째 인자(object)에 저장했음을 의미한다
created
는 True
또는 False
를 갖고 있는 flag이다created
가 True
라면 없었다는 것이니까 새로 리뷰좋아요
를 누르지 않았다는 것이고created
가 False
라면 기존 DB에 이미 인스턴스가 있었다는 것 = 이미 좋아요를 눌렀다는 상태를 의미한다. False
상태이면 .delete()
메소드를 통해 다시 누른다는 것은 누른 좋아요를 취소한다는 것True
상태이면 좋아요를 누르겠다는 것