오늘은 장고3일차로 ORM과 모델에 대해 배웠습니다.
어제에 이어 추가로 작성하겠습니다.
모델은 데이터베이스와 소통하는 역할을 진행합니다.
models.py와 만들고자 하는 데이터베이스의 설정을 작성하고 터미널에
python manage.py makemigrations blog
을 하게 되면 migration폴더 안에 새로운 init.py 파일이 생기게 됩니다.
python manage.py migrate blog
을 다시 작성해주면 DB에 설정해둔 데이터베이스가 생성이 됩니다.
즉, 변경사항이 적용된 것입니다.
관리자 페이지에서 등록하고자 하면 admin.py에 아래와 같이 작성해줍니다.
from . import models
admin.site.register(models.Post)
ORM QuerySet을 통해 데이터를 조회할 수 있습니다.
사용 가능한 ORM Query문은 링크 첨부하겠습니다.
https://docs.djangoproject.com/en/4.2/ref/models/querysets/#field-lookups
Form은 같은 작업을 바복해서 적은 코드로 쉽게 처리하기 위해 만들어졌습니다.
Form을 사용하는 이유는 사용자 입력을 처리하는 쉬운 방법이고 유효성 검사와 에러 메시지까지 알아서 처리 해주기 때문입니다. 또한 CSRF 토큰으로 웹사이트를 보호하고 데이터 저장까지 간단하게 이뤄집니다.
모델과 관련된 Form은 Model Form을 사용해야합니다. Model Form은 모델과 연동해서 데이터베이스까지 한번에 처리가 가능합니다. 장고의 Form은 위 설명과 같이 유효성 검사와 Model로 쉽게 데이터를 전달할 때 사용됩니다.
오늘은 어제에 이어 장고를 배웠습니다. 이제 정말 끝이 다가옵니다. ㅠㅠ
※공부하고 있어 다소 틀린점이 있을 수 있습니다. 언제든지 말해주시면 수정하도록 하겠습니다.
※용어에 대해 조금 공부 더 해서 수정하겠습니다.