Daily-study
[오늘의 공부] Django Join, Django 스터디
by Roseline Song | March 14, 2019
Django
- Join
-
연관된 테이블을 묶어서 내가 원하는 데이터를 한번에 조회할 수 있다.
-
ModelName.objects.all().order_by(…) 와 ModelName.objects.all().select_related().order_by(…) 의 차이 : foreignkey로 종속되어있는 model이 참조당하는 모델의 데이터까지 모두 가져온다. 한번에 가져오기 때문에 쿼리 히트가 한 번만 발생한다.
-
annotate(name = aggregation) : model에서 정의하지 않은 field라도, annotate로 새로운 이름을 지정할 수 있다. template에서 이 이름으로 데이터의 aggregation 결과를 가져올 수 있다. 또한, annotate는 연속적으로 쓸 수 있다. ex) annotate().annotate()…
-
foreignkey를 쓰면 참조하는 모델뿐 아니라 참조 당하는 모델에서도 relation_name이 생성된다. (소문자로)
-
이미 데이터가 생성되어 있는 기존 모델에 새로운 필드를 생성할 때 : default=None, null=True 옵션을 붙인다. 기존 데이터는 해당 필드에 대한 정보가 없기때문에 값을 넣어줘야 한다. default를 Null 로 넣어주려면, null=True 옵션도 같이 넣어줘야 하고, default가 Null이 아니라면 굳이 넣지 않아도 된다.
- Model
-
ABC 클래스
-
multitable 상속
-
proxy model
※ 참고 : Model 총 정리 -브런치
Django 스터디 - Model
-
발표자 Model에 대해 설명한 내용을 토대로, Model을 만드는 실습 진행.
-
각자의 관심사에 대해 얘기하고, 그와 관련된 사이트 구현에 필요한 모델 디자인
-
모델에 필요한 필드들을 나열해보고, 그중 가장 재밌을 것 같은 게임 질문 게시판 모델을 골라 다같이 실습
-
그리고 연습한 내용을 토대로 각자의 모델을 만들었다.
+ Makemigrations에서 에러가 나 rollback을 하려했는데 실행이 되지 않았다.
+ 조회, 추천수를 나타낼 수 있는 두번째 모델을 만들어 봐야겠다.
추가로 할 것 : Rollback 및 조회, 추천수 구현
다음에 할 것 : View
랜덤 팀 배정 프로그램 실행 파일로 만들기
-
pip install pyinstaller
-
pyinstaller -F 파이썬파일명.py
-
에러가 난다면 cmd에 파일을 드래그 앤 드랍해서 실행시키면, 에러 메시지를 확인할 수 있다.
+ GUI로 만들고 싶은데… 전에 만들려고 했을 때 복잡했던 것 같아 고민된다. 제 시간에 만들 수 있을지. (+ 다음 날 밤 새서 만들었다.)
Subscribe via RSS