Rad Blog

Archive

Django - Model Field

2020-05-02 Django xfrnk2
이진석 선생님의 리액트와 함께 장고 시작하기 수강중 정리한 글입니다. ORM ORM은 어디까지나, SQL 생성을 도와주는 라이브러리 DB에 대한 모든 것을 알아서 처리해주진 않음 보다 성능높은 어플리케이션을 만들고자 한다면 사용할 DB엔진과 SQL에 대한 높은 이해 필요 RDMBS에서의 관계 예시 1 : N 관계 -> Foreign Key 1명의 유저(User)가 쓰는 다수의 포스팅(Post) 1명의 유저(User)가 쓰는 다수의 댓글(Comment) 1개의 포스팅(Post)에 다수의 댓글(Comment) 1 : 1 관계 -> models.OneToOneField 1명의 유저(User), 1개의 프로필(Profile) M : N 관계 -> models. Continue reading

Django - 관계를 표현하는 Model Field - Foreign Key

2020-05-02 Django xfrnk2
이진석 선생님의 리액트와 함께 장고 시작하기 수강중 정리한 글입니다. ForeignKey(to, on_delete) 1:N의 관계에서 N측에 명시 to 대상모델, 클래스 직접 지정 또는 클래스명을 문자열로 지정 자기 참조는 ‘self’ 지정 on_delete : Record 삭제시 Rule CASCADE : 장고 1.x에서의 디폴트값 / 주로 CASCADE를 사용, FK를 참조하는 다른 모델의 Record도 삭제 PROTECT : ProtectedError (IntegrityError 상속) 를 발생시키며 삭제 방지 SET_NULL : null로 대체, 필드에 null=True 옵션 필수 SET_DEFAULT : 디폴트 값으로 대체, 필드에 디폴트값 지정 필수 SET : 대체할 값이나 함수를 지정, 함수의 경우 호출하여 리턴값을 사용 DO_NOTHING : 어떠한 액션X, DB에 따라 오류 발생 가능성 올바른 모델 지정 방법 권장하지 않는 방법의 예시 #models from django. Continue reading

Django debug-toolbar를 통한 SQL 디버깅

2020-05-02 Django xfrnk2
이진석 선생님의 리액트와 함께 장고 시작하기 수강중 정리한 글입니다. django-debug-toolbar 현재 request/response에 대한 다양한 디버깅 정보를 보여주고 다양한 패널을 지원 응답 포맷이 HTML일 때만 가능 SQLPanel을 통해 각 요청 처리시에 발생한 SQL 내역을 확인 가능 Ajax 요청에 대한 지원은 불가능 django-debug-toolbar 설치 설치 공식문서 https://django-debug-toolbar.readthedocs.io/en/latest/installation.html 주의사항 웹페이지의 템플릿에 필히 body 태그가 있어야만, django-debug-toolbar가 동작 이유 : dbt의 html/script 디폴트 주입 타겟이 /body 태그 (INSERT_BEFORE 설정 디폴트: “/body”) https://django-debug-toolbar.readthedocs.io/en/latest/configuration.html#toolbar-options 코드를 통한 SQL 내역 확인 QuerySet의 query 속성 참조 ex) print(Post. Continue reading

20.05.02_TIL

2020-05-02 TIL xfrnk2
계획했던 일 성공과 실패를 결정하는 1%의 네트워크 원리 책 읽기 LCS (최장 공통 부분 수열) 알고리즘에 대해서 더 공부하기 Django 배운 내용 문서화하기 오늘 한 일 Django debug-toolbar에 대한 내용을 복습하고 정리해서 글을 올렸다. Django 관계를 표현하는 Model Field, Foreign Key에 대한 내용을 복습하고 정리해서 글을 올렸다. 강의를 들은지 얼마 지난것을 다시 복습하고 정리하려고 하니 머릿속에 그려지는 동안 또다시 시간이 소비된다. 블로그에 글을 쓰다보니 복습을 잘 할 수 있어서 좋으나 한편으로는 복습에 시간을 쏟으며 세월아네월아 하게 되는게 아닌가 싶기도 하다. Continue reading

20.05.01_TIL

2020-05-01 TIL xfrnk2
계획했던 일 성공과 실패를 결정하는 1%의 네트워크 원리 책 읽기 백준 알고리즘 문제 (1904번 01타일) 해결을 고민하기 수열과 조합, 등차수열 공부해보기 학교 과제 시작하기 오늘 한 일 칸아카데미 사이트에서 수열관련 강의 초입부분을 수강했다. LCS (최장 공통 부분 수열) 알고리즘을 이해했다. 사실 어려웠다.ㅜㅜ 분할 정복, 동적 프로그래밍, 그리디 알고리즘의 기본적인 개념을 복습하여 인지했다. 점심 식사 시간에 JTBC 토크멘터리 ‘이어령 선생이 젊은이에게 바치는 마지막 이야기’를 보았는데 유독 ‘Momento Mori’라는 문구가 머릿속을 맴돌았다. 나로 하여금 삶과 배움을 대하는 자세를 돌아보게 하였다. Continue reading

20.04.30_TIL

2020-04-30 TIL xfrnk2
계획했던 일 Django 강의 많이 듣고 진도 나가기 성공과 실패를 결정하는 1%의 네트워크 원리 책 읽기 백준 알고리즘 문제 (1904번 01타일) 해결을 고민하기 수열과 조합, 등차수열 공부해보기 오늘 한 일 Django Model을 통한 조회 기초를 복습하고 문서화했다. 문서화 한 것을 업로드했다. Django Debug Toolbar를 설치하고 구현해보았다. 라이브 아카데미 동영상을 시청하고 공부했다. 내일 할 일 성공과 실패를 결정하는 1%의 네트워크 원리 책 읽기 백준 알고리즘 문제 (1904번 01타일) 해결을 고민하기 수열과 조합, 등차수열 공부해보기 학교 과제 시작하기

Django Model을 통한 조회 (기초)

2020-04-30 Django xfrnk2
이진석 선생님의 리액트와 함께 장고 시작하기 수강중 정리한 글입니다. Model Manager SELECT * FROM app_model; ModelCls.objects.all() SELECT * FROM app_model ORDER BY id DESC LIMIT 10; ModelCls.objects.all().order_by('-id')[:10] INSERT INTO app_model (title) VALUES (“New Title”); ModelCls.objects.create(title="New Title") Queryset Chaining을 지원 Post.objects.all().filter(…).exclude(…).filter(…) -> QuerySet Lazy한 특성 QuerySet을 만드는 동안에 DB 접근 X 실제로 데이터가 필요한 시점에 접근 데이터가 필요한 시점 queryset print(queryset) list(queryset) for instance in queryset: print(instance) “I/O의 경우 파일 접근은 많이 하지 않고, 대개 데이터베이스 접근이기 때문에, DB QuerySet에 대한 명확한 이해가 성능향상을 도움” Continue reading
Older posts Newer posts