validate 함수를 통해서 할 수 있습니다. 함수의 인자값으로 해당 값이 전달되고 유효성 검사를 할 수 있습니다. validator_필드명 을 통해서 정의 할 수 있습니다. 유효성 검사가 실패하면 raise ValidationError 를 발생시킵니다.
django 에서 기본적으로 validation 을 제공하지만 자신만의 validator 메소드를 만들고 싶거나, 데이터에 추가에 좀 더 많은 기능을 사용하고 싶을 때 사용합니다 특수문자 처리 등이 대표적인 예입니다.
serializer.save를 호출시 instance 가 있다면 update를 호출하고, 없다면 create를 호출합니다.
create ⇒ save() 메소드를 호출함으로 DB인스턴스를 생성
update ⇒ save() 메소드를 호출함으로 DB 인스터스를 수정
벨리 데이터 함수 내에서 개발자가 설정한 검증 절차를 거치고 통과하지 못한다면 raise 를 통해서 에러를 발생 시킵니다
permiison 기능은 사용자의 권한을 나누는 가장 간단하고 효과적인 수단입니다.
유저 별로 권한이 나누어져 있다면 유저 권한 별로 데이터를 접근 할 수 있고,
django 에서 제공하는 admin 같은 기능도 보다 쉽게 사용 할 수 있습니다.
유저 권한 별로 데이터 입출력도 편하게 핸들링 할 수 있습니다.
Django 에서는 기본적으로 Sqlite 가 내장형으로 지원을 하며 Django 의 ORM 을 지원하며, Django 에서도 기본적으로 Sqlite 를 사용하게 되어 있습니다. Flask 는 기본적으로 지원하는 DB가 없으며, Flask에서 sqlite를 사용하려면 import sqlite3
, conn = sqlite3.connect('database.db')
를 통해서 연동 할 수 있습니다.
DB"MS"가 아니라 원격 사용이 불가능하다.
AWS 배포를 한다는것은 서비스를 하는 것인데, 확장성이 부족합니다
다른 데이터 베이스보다 보안이 약합니다.
```
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'OPTIONS': {
'read_default_file': '/Users/honux/my.cnf',
},
}
}
```
1.database 와 관련된 정보 ( username, password)