# models.py
# ForeignKey이란 관계를 의미하기 때문에 상속받아온 값이 사라질 경우에 대한 행동양식을 설정해 주는 것이다.
from django.db import models
from core import models as core_models
class Review(core_models.TimeStampedModel):
"""Review Model Definition"""
# CASCADE : ForeignKey가 삭제되면 이 data도 사라진다
user = models.ForeignKey(
"users.user", related_name="reviews", on_delete=models.CASCADE
)
# PROTECT : 값이 사라져도 이 데이터는 살아남지만 ProtectedError를 발생시킬것이다.
user = models.ForeignKey(
"users.user", related_name="reviews", on_delete=models.PROTECT
)
# SET_NULL : 값이 사라진다면 ForeignKeyField이 null로 바뀐다.(null=True필수)
user = models.ForeignKey(
"users.user", related_name="reviews", on_delete=models.PROTECT, null=True
)
# SET_DEFAULT : 값이 삭제될 경우 ForeignKeyField을 default값으로 바꾼다.
user = models.ForeignKey(
"users.user", related_name="reviews", on_delete=models.SET_DEFAULT,default=
)