OneToOneField는 ForeignKey(model, unique=True)와 같이 1:n의 관계다.
이 둘의 차이는 '역관계'다.
OneToOneField는 역참조하면 하나의 '객체'를 반환하지만
ForeignKey는 역참조하면 'QuerySet'을 반환한다.
풀어서 말하자면 만약 a1과 b1이라는 클래스가 있다.
a1과 b1은 1:n 관계로 b1원은 a1을 속성으로 가지고있다.
그래서 a1에서는 b1의 id값이 없고, b1에서는 a1의 id값이 있다.
즉, a1에서는 b1의 속성에 접근하기가 어렵고
b1은 a1의 속성에 접근할 수 있어 편집도 가능하다.
여기서 '역방향 참조'의 개념이 나오는데, 만약 a1에서 b1의 속성에 접근하고자 한다면 _set()를 사용해 모델에 접근, 편집, 쿼리사용이 가능하게 한다.
ex) a1.name_set.(id=a1.id)