사용되는 예시
한 명의 주인이 여러마리의 개를 소유하는 경우
한명의 사용자가 여러개의 댓글을 소유하는 경우 = 댓글 여러개가 한명의 사용자를 가지는 경우
한 개의 사진이 여러개의 댓글을 갖는 경우
한개의 사진이 여러개의 좋아요를 갖는(받은) 경우
class Owner(models.Model):
name = models.CharField(max_length=100)
class Dog(models.Model):
name = models.CharField(max_length=100)
owner = models.ForeignKey('Owner', on_delete=models.CASCADE)
# Owner 참조시 이미 선언되어있으면 ''없이, 선언되어있지 않다면 ''사용
owner1 = Owner.objects.create(name ='donq')
dog1 = Dog.objects.create(name = 'dog1', owner_id=1)
dog2 = Dog.objects.create(name = 'dog2', owner = owner1)
1) dog 정보에서 owner 정보 불러오기
dog1.owner.id # 1
dog2.owner.name #donq
2)owner의 정보에서 dog 정보 불러오기
owner1.dog_set.all() # queryset(dog1, dog2)
python shell에서 무조건 많이 쳐봐야 하는듯 하다 ....
많이 쳐보고 연습하자 !!