본문 바로가기

Django48

7. Django DRF on_delete, DateField on_delete CASCADE : FK로 참조하는 레코드가 삭제 될 경우 해당 레코드를 삭제한다. SET_NULL : FK 필드의 값을 Null로 변경해준다. null=True가 정의되어 있어야 사용 가능하다. PROTECT : 해당 레코드가 삭제되지 않도록 보호해준다. 권장하지 않음. SET_DEFAULT : FK 필드의 값을 default로 변경해준다. default=””가 정의되어 있어야 사용 가능하다. SET() : FK 필드의 값을 SET에 설정된 함수를 통해 원하는 값으로 변경할 수 있다. DO_NOTHING : 아무런 동작을 하지 않는다. 참조 관계의 무결성이 손상될 수 있기 때문에 권장하지 않는다. DateField, DateTimeField default = $date : 지정한 값을 .. 2022. 6. 18.
1. Django DRF VScode settings DRF - Django Rest Framework 도구 - Visual Studio Code Extensions 1) Python 2) Django Terminal 1) 가상환경 셋팅 # 가상환경 생성 #첫 venv 가상환경 선언 하겠다 #마지막 venv venv파일 이름 설정 python -m venv venv # 가상환경 생성 확인 dir # 가상환경 진입 venv/Scripts/activate # 상기 가상환경 진입이 안될시(하단 에러문) venv/Scripts/activate : 이 시스템에서 스크립트를 실행할 수 없으므로 C:\Users\USER\Desktop\drf\venv\Scripts\Activate.ps1 파일을 로드할 수 없습니다. 자세한 내용은 about_Execution _Polic.. 2022. 6. 18.
6. Django DRF 프로젝트 구조에 대한 이해 settings.py django 프로젝트를 실행 할 때 해당 파일을 참조한다. 데이터베이스 설정, 앱 설정, 기본 정책 설정 등을 할 수 있다. models.py DB에 테이블을 추가하고 관리 할 때 사용된다. 테이블에 들어갈 필드, 필드의 속성값 등을 설정 할 수 있다. python manage.py migrations / miarate 명령어를 통해 설정을 DB에 반영시킬 수 있다. views.py django 에서 request 데이터를 받은 후 처리 할 전반적인 로직이 들어간다. urls.py에서 views에 있는 class나 함수를 호출해서 사용하게 된다. urls.py 웹에서 django 프로젝트로 request를 전달 할 때 받아줄 경로를 설정할 수 있다. ex) http://my-djan.. 2022. 6. 18.
5. Django DRF database 용어 정리 RDBMS(RDB) : Relational DataBase Management system의 약자로 MySql, OracleDB 등 관계형 데이터베이스를 지칭한다. 다른 사람한테 입금을 했을 때 돈이 빠져나가고 가는 도중에 에러가 나서 공중 분해가 되는걸 막기 위해 유효성 검사를 확실히 할때 사용된다. Sql : Structured Query Language의 약자로 데이터베이스의 CRUD를 위해 사용되는 언어이다. CRUD : Create(생성), Read(읽기), Update(갱신), Delete(삭제) NoSql : Not Only Sql의 약자로 관계형 데이터베이스가 아닌 다른 형태로 데이터를 저장하며, mongoDB 등이 여기에 해당한다. RDBMS만큼 유효성을 지켜주지는 않는다.(유효성 검사가.. 2022. 6. 18.
4. Django DRF cmd 단축키 color - cmd 색깔 바꾸기 color a color a4 color af color 4f ... echo off - 앞에 경로 없애주기 echo off cd - 파일 경로 움직이기 # 최상위 파일(보통은 c드라이브)로 가기 cd c:\ tree - 파일 목록 띄어주기(내부까지) tree 2022. 6. 18.
3. Django DRF status code 외워야 할 메이저 코드 2xx : normal 3xx : redirect 4xx : client error 5xx : server error django rest framework staus 정의 HTTP_100_CONTINUE = 100 HTTP_101_SWITCHING_PROTOCOLS = 101 HTTP_200_OK = 200 HTTP_201_CREATED = 201 HTTP_202_ACCEPTED = 202 HTTP_203_NON_AUTHORITATIVE_INFORMATION = 203 HTTP_204_NO_CONTENT = 204 HTTP_205_RESET_CONTENT = 205 HTTP_206_PARTIAL_CONTENT = 206 HTTP_207_MULTI_STATUS = 207 HTTP_.. 2022. 6. 18.
2. Django DRF requirements.txt 생성 팀 활동을 위해서 자신이 무엇을 설치했는지 공유해할 경우가 있다. 이때, pip freeze > requirements.txt로 파일을 생성해준다. pip freeze asgiref==3.5.2 backports.zoneinfo==0.2.1 Django==4.0.5 djangorestframework==3.13.1 pytz==2022.1 sqlparse==0.4.2 tzdata==2022.1 pip freeze > requirements.txt 설치 방법은 pip install -r requirements.txt 이다. 2022. 6. 18.
22. Django annotate averageStore = Store.objects.all().annotate(average=Avg('review__calc_star')) Store object에 average라는 객체를 생성해준다. 이때 review의 calc_star의 평균값을 데이터로 넣어준다. 주의할 점은 annotate를 사용해서 만든 객체는 db에 저장되지 않는다. migarate 해줄 필요가 없다. 출처 Django 공식문서 - https://docs.djangoproject.com/en/4.0/topics/db/aggregation/ 2022. 6. 15.
21. Django Queryset 활용(select_related, prefetch_related) 참고 Django 공식 문서 - https://docs.djangoproject.com/en/4.0/ref/models/querysets/ QuerySet API reference | Django documentation | Django Django The web framework for perfectionists with deadlines. Overview Download Documentation News Community Code Issues About ♥ Donate docs.djangoproject.com select_related() select_related(*fields) Returns a QuerySet that will “follow” foreign-key relationships, se.. 2022. 6. 15.