Django_Model 관계 (one-to-many)

DonQ·2021년 1월 24일
0

TIL

목록 보기
21/31
post-thumbnail

One-to-many 관계

사용되는 예시

  • 한 명의 주인이 여러마리의 개를 소유하는 경우

  • 한명의 사용자가 여러개의 댓글을 소유하는 경우 = 댓글 여러개가 한명의 사용자를 가지는 경우

  • 한 개의 사진이 여러개의 댓글을 갖는 경우

  • 한개의 사진이 여러개의 좋아요를 갖는(받은) 경우

Owner 모델 생성

class Owner(models.Model):
	name = models.CharField(max_length=100)

Dog 모델 생성

class Dog(models.Model):
	name = models.CharField(max_length=100)
    	owner = models.ForeignKey('Owner', on_delete=models.CASCADE)
        # Owner 참조시 이미 선언되어있으면 ''없이, 선언되어있지 않다면 ''사용

Owner 만들기

owner1 = Owner.objects.create(name ='donq')

Dog 만들기 및 owner 할당 하기

dog1 = Dog.objects.create(name = 'dog1', owner_id=1)
dog2 = Dog.objects.create(name = 'dog2', owner = owner1)

Foreign Key로 연결된 정보 불러오기

1) dog 정보에서 owner 정보 불러오기

dog1.owner.id     # 1
dog2.owner.name   #donq

2)owner의 정보에서 dog 정보 불러오기

owner1.dog_set.all()     # queryset(dog1, dog2)

python shell에서 무조건 많이 쳐봐야 하는듯 하다 ....
많이 쳐보고 연습하자 !!

profile
꾸준히 쌓아가는 코딩 Study

0개의 댓글

관련 채용 정보