본문 바로가기

server-side/Django19

Django ORM 톺아보기 세션 과제 #1: DatabaseSchemaEditor 재정의해서 자동으로 db comment 추가하기 [진행중] 이제는 과제를 해보자. 슬라이드 뒤편에 과제 슬라이드를 첨부해 주셨으니 하나씩 읽으면서 해 보자.  ✅ 과제 #1: 이해하기슬라이드를 직접 캡처하기가 애매해서 말로 풀어서 써보겠다. 과제 #1에서는 테이블을 만들 때 '코멘트'를 넣는 작업을 하면 된다. 정확히는 django ORM에서 Model의 verbose_name, Field의 verbose_name 값으로 입력한 값이 필드의 '코멘트'가 되도록 하는 작업이다.  사실 나는 '코멘트'가 뭔지 잘 몰랐다. 블로그 글을 보면서 이해한 바로는 '코멘트'는 SQL(mysql, oracle 등) db에서 제공하는 하나의 기능으로, 필드나 테이블의 의미를 나타내기 위한 기능이라고 한다.  아래는 oracle db에서 코멘트를 추가하는 문법이다. COMMENT.. 2024. 12. 7.
Django ORM 톺아보기 세션: 이해한 내용 정리하기 지난 달 11월 9일에 Django ORM 톺아보기 세션이 열렸어서 가서 재밌고 유익하게 들었었다. ORM을 쓰는 방법은 그래도 대강은 알고 있다고 생각했는데, 쓰는 방법 말고 동작 원리에 대해서는 모르는 부분이 많았다. 특히 Queryset보다 더 밑단의 동작 원리(SQLCompiler, SQL과 QueySet 사이의 계층)에 대해서는 거의 처음 들어봤다. 역시 배워도 배워도 새롭고 신기한 것들 투성이였다.  다행히 슬라이드는 계속 열어 두신다고 하셔서 지금이라도 슬라이드를 훑어보면서 그때의 기억을 되살려 보았다. 예전에 듣기로는 학습을 하는 좋은 방법 중 하나는 내용을 보면서 무엇을 어떻게 이해했고, 무엇을 모르겠는지를 스스로 점검하는 거라고 했다. 오늘 그걸 해 볼 예정이다. 그러면서 과제도 해 보.. 2024. 12. 1.
django customizing user ⚠️ 아래 공식문서를 읽고 인증 관련된 내용 중 일부만 발췌해서 정리했습니다. 자세한 내용이 궁금하시다면 공식문서를 참고하시는 것을 추천드립니다. https://docs.djangoproject.com/en/5.0/topics/auth/customizing/ Django The web framework for perfectionists with deadlines. docs.djangoproject.com ✅custom user model 설정하기 settings.py 파일의 AUTH_USER_MODEL 변수의 값을 "app이름.Model이름" 으로 설정하자. AUTH_USER_MODEL = "account.CustomUser" 또한 공식문서에서는 인증 모델의 정보에 접근할 때는 쿼리셋을 작성할 때 흔히 .. 2024. 1. 7.
django customizing authentication ⚠️ 아래 공식문서를 읽고 인증 관련된 내용 중 일부만 발췌해서 정리했습니다. 자세한 내용이 궁금하시다면 공식문서를 참고하시는 것을 추천드립니다. https://docs.djangoproject.com/en/5.0/topics/auth/customizing/ Django The web framework for perfectionists with deadlines. docs.djangoproject.com ✅django authentication 장고에서는 인증을 수행하기 위한 여러 백엔드 클래스(authentication backends)들이 있다. settings.py 설정 파일에서 AUTHENTICATION_BACKENDS 라는 변수 값으로 이 인증 백엔드 클래스를 어떻게 설정할지를 지정할 수 있다... 2024. 1. 7.
django sessions 아래 공식문서를 읽고 세션에 관련된 기본 내용만 발췌하여 정리했습니다. 자세한 내용이 궁금하시다면 공식문서를 참고하시는 것을 추천드립니다. https://docs.djangoproject.com/en/5.0/topics/http/sessions/ Django The web framework for perfectionists with deadlines. docs.djangoproject.com Session 세션은 인증에서 사용되는 방법 중 하나로, 서버에 접속한 개별 클라이언트마다 인증에 필요한 정보를 서버에 저장해 두고 관리하는 방식이다. 인증 정보를 서버 측에서 관리하기 때문에 보안 면에서 더 안전하고 정보가 탈취될 가능성이 더 적다. 반면 사용자가 많아질수록 그 많은 사용자의 정보를 서버에서 모두 .. 2024. 1. 6.
django migrations migration(마이그레이션)이란 장고에서 모델과 연결된 DB의 버전을 관리하는 방법이다. migration은 파이썬 파일 형식으로 관리된다. migration의 특징 실제 DB에서 변경되는 내용이 없어도 migration 파일이 만들어질 수 있다. 어떤 DB에는 적용 가능한 내용이 다른 DB에는 적용 불가능할 수 있다. (MySQL의 경우 PostgreSQL보다 컬럼에 사용하는 max_length 속성의 최댓값이 작다) 직접 migration 파일을 수정할 수 있고 빈 migration 파일을 만들 수도 있다. transaction 개념이 있는 DB(postgresql, sqlite)의 경우, migration은 하나의 transaction 안에서 실행된다. 그렇지 않은 경우는 transaction .. 2023. 12. 31.