[python] Django의 유효성 검사(Validation) 방법은 어떻게 되는가?

Django에서는 모델에 대한 유효성 검사를 간편하게 수행할 수 있는 기능을 제공합니다. 모델 내에서 필드에 대한 제약사항이나 유효성 검사 규칙을 정의할 수 있으며, 이를 통해 데이터의 일관성과 정확성을 보장할 수 있습니다.

유효성 검사는 Django의 모델 클래스 내에서 clean() 메서드를 오버라이딩하여 구현할 수 있습니다. clean() 메서드는 모델 인스턴스가 저장되거나 수정되기 전에 호출되며, 필드 값들의 유효성을 검사하고 오류를 처리하는 역할을 담당합니다.

아래는 간단한 예제입니다. Book 모델의 title 필드에 대해 유효성 검사를 수행하는 모델 클래스입니다.

from django.db import models
from django.core.exceptions import ValidationError

class Book(models.Model):
    title = models.CharField(max_length=100)

    def clean(self):
        # title 필드가 비어있는 경우 ValidationError를 발생시킴
        if not self.title:
            raise ValidationError("Title cannot be empty")

위 예제에서는 clean() 메서드 내에서 title 필드의 값이 비어있는지를 검사하고, 비어있을 경우 ValidationError 예외를 발생시킵니다. 이 예외는 모델 저장 시에 잡히게 되어 저장이 중단되고 오류 메시지가 반환됩니다.

또한, Django는 내장된 여러 유효성 검사 기능을 제공합니다. 이를 사용하면 간편하게 데이터 유효성을 검사할 수 있습니다. 예를 들어, 필드의 최대 길이나 고유성, 숫자 범위 등을 확인할 수 있습니다.

유효성 검사의 자세한 내용은 Django 공식 문서를 참고해주세요.