hyeonga_code

파이선 웹구축_장고_기초09_데이터 관계 본문

Python_Django

파이선 웹구축_장고_기초09_데이터 관계

hyeonga 2023. 6. 28. 05:59
반응형

- 데이터 간의 관계

- 1:N 관계

- 테이블끼리의 관계로 작업

- 1 : 부모테이블

- N : 자식 테이블

- ForeignKey 존재

- 1이 N을 호출할 수 있음

- N이 1을 호출하는 것은 어색함

 

- N : N 관계

- 서로 종속된 관계가 아님

- 좋아요, 구독, 팔로워, 팔로잉

 

'models.py'

=====

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
from django.db import models
 
class Board(models.Model):
    subject = models.CharField(max_length=100)
    writer = models.CharField(max_length=100)
    content = models.TextField()
 
    def __str__(self):
        return f"{self.writer} 가 작성한 {self.subject}"
    
class Reply(models.Model):
    board = models.ForeignKey(Board)
    #_ 보드 테이블의 레코드 자체가 들어있음
    replyer = models.CharField(max_length=100)
    comment = models.TextField()
    
    def __str__(self):
        return f"{self.board}_{self.replyer}"
'''
갑자기 보드를 참조하게 됨
보드는 리플라이에게 역참조지시자를 사용하여 불러올 수 있음
자식클래스(소문자)_set로 가져오면 됨
'''
 
cs

 

 

> "reply_set"

> b.reply_set.all() 형식

 

>> 마이그레이션 > 오류

'''

TypeError: ForeignKey.__init__() missing 1 required positional argument: 'on_delete'

'''

 

'''

- 수정

board = models.ForeignKey(Board, on_delete=models.CASCADE)

#_ 1이 사라졌을 때 N도 사라지게 설정하는 것

'''

 

 

반응형