Legacy(~18.10)/Django
[Django Tips]Custom Validation 만들기
Depaysement
2018. 9. 27. 21:00
반응형
# models.py
...
from django.core.exceptions import validationError
def validate_email(value):
if not "@" in value:
raise ValidationError("Not a valid email")
else:
return value
def validate_kwon(value):
if not "kwon" in value:
raise ValidationError("Not Kwon!")
else:
return value
class Post(models.Model):
email = models.CharField(max_length=240, validators=[validate_email, validate_kwon] null=True, blank=True)
#해당 email 필드는 "@" 이가 없거나 문자열에 "kwon" 이 들어가지 않으면 오류를 발생 시킨다.
위와 같이 validate 메소드를 만들어서, valdation을 적용하고 싶은 모델 필드에 리스트의 요소로 추가 시켜주면된다.
위의 방법은 models.py에서 validation 메소드를 적어놨는데, 대개는 validation.py를 따로 만들고, validation 메소드 끼리 모아둔다.
반응형