#17 Django - On_delete

박종규·2021년 8월 8일
0

TIL

목록 보기
18/22

장고 모델링 중, Foreignkey의 옵션 중 하나인
on_delete에 관해서 작성해보겠다.

바라보고 있는 데이터가DB에서 없어졌을 경우,
어떻게 해당 요소를 처리할 것인지 방법을 지정해주는 옵션이다.

  1. models.CASCADE
product = ForeignKeyField('User' , on_delete=models.CASCADE)

ForeignKeyField를 포함한 모든 행을 삭제한다.

  1. models.PROTECT
product = ForeignKeyField('User' , on_delete=models.PROTECT)

해당 값이 삭제되지 않도록 PROTECT ERROR를 발생시킨다.

  1. models.SET_NULL
product = ForeignKeyField('User' , on_delete=models.SET_NULL)

해당 열을 NULL로 비워둔다.

  1. models.SET_DEFAULT
product = ForeignKeyField('User' , on_delete=models.SET_DEFAULT)

해당 열을 DEFAULT 값으로 변경한다. default 값을 별도로 지정해주어야함.

이외에도 2가지의 옵션이 더 있지만
장고로 클론 코딩을 하면서는 이 외에 다른 옵션을 선택할 것 같지 않아
포스팅에 올리지 않았다.

0개의 댓글