상세 컨텐츠

본문 제목

221117 docker quiz & 다음프로젝트 준비 & 거북이반 ERD강의

카테고리 없음

by hunss 2022. 11. 17. 10:01

본문

Docker run vs exec vs start

docker run =  실행하면서 컨테이너를 구동하고 명령이 끝나면 exit

docker exec = 현재 구동중인 컨테이너에 명령을 내림

docker start = 컨테이너 구동


다음 프로젝트 

와이어프레임하고 ERD 작성함

 


FOREIGN KEY on_delete 옵션종류

CASCADE = foreignkeyfield를 포함하는 인스턴스의 row도 같이 삭제함

 

PROTECT = cascade와 반대임. 같이 삭제 안되도록 보호함.

> protectederror발생

 

SET_NULL = ForeignKeyField 값을 NULL로 바꾼다. null=True일 때만 사용할 수 있음. 

SET_DEFAULT : ForeignKeyField 값을 default 값으로 변경한다. default 값이 있을 때만 사용할 수 있음.

do_nothing도 있긴한데 왜있는지 모르겠음.

> 아무런 조치를 취하지 않는다는 뜻이긴 함

 

다대다 관계를 짤 때

테이블 2개를 관계지으면 중간관계 테이블이 자동으로 생성되는데 이걸 컨트롤 할 수 없음.

> 때문에 though='' 으로 해서 중간테이블을 직접 작성해줘서 컨트롤하는게 좋음

 

select_related(정참조) / prefetch_related(역참조)

[select_related미사용]

post = Post.objects.all()

for p in post:

    p.category.name

[select_related사용]

post = Post.objects.select_related('category').all()

for p in post:

   p.category.name

 

둘다 결과는 똑같지만 효율성의 문제다. ㄱ