ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [Django]model 만들기
    Django_BE 2023. 9. 8. 01:21
    on_delete=models.SET_NULL, null=True, blank=False
    1. on_delete=models.SET_NULL: 이 부분은 ForeignKey 필드의 삭제 동작을 정의합니다. models.SET_NULL로 설정되어 있으므로 참조된 객체가 삭제될 때 해당 ForeignKey 필드의 값을 NULL로 설정 -> forest 글 같은 경우, 유저가 삭제되어도 글은 유지, 유저 부분은 비우기
    2. null=True: 이 부분은 데이터베이스에서 해당 필드가 NULL일 수 있는지 여부를 나타냅니다. True로 설정되어 있으므로 이 ForeignKey 필드는 데이터베이스에서 NULL 값을 가질 수 있습니다. 다시 말해, 연결된 객체가 없을 때 이 필드는 NULL이 될 수 있습니다.
    3. blank=False: 이 부분은 폼에서 모델을 유효성 검사할 때 해당 필드에 값을 가져야 함을 나타내는 검증 제약 조건입니다. False로 설정되어 있으므로 폼에서 이 필드는 비워둘 수 없습니다. 필드에는 어떤 값이든 포함되어야 합니다.
    on_delete=models.CASCADE, null=False, blank=False
    1. on_delete=models.CASCADE: 일반적으로 Django에서 ForeignKey 필드에 사용됩니다. 이것은 참조된 객체(이 ForeignKey로 가리키는 객체)가 삭제될 때 어떻게 처리해야 하는지를 지정합니다. 이 경우에는 models.CASCADE로 설정되어 있으므로 참조된 객체가 삭제되면 이 ForeignKey를 포함하는 객체도 삭제됩니다.
    2. null=False: 이것은 데이터베이스에서 해당 필드가 NULL이 될 수 없다는 제약 조건을 나타냅니다. 다시 말해, 이 필드를 사용하는 데이터베이스의 모든 레코드는 유효한(비-NULL) 값을 가져야 합니다.
    3. blank=False: 이것은 폼에서 모델을 유효성 검사할 때 필드에 값을 가져야 함을 나타내는 검증 제약 조건입니다. 다시 말해, 이 모델을 통해 폼을 사용하여 객체를 생성하거나 업데이트할 때 필드를 채워넣어야 하며 비워둘 수 없습니다.
Designed by Tistory.