Django

Django shell을 이용한 model CRUD

체리1001 2021. 8. 23.

Shell을 이용한 CRUD

python manage.py shell

1. Create

모델명.objects.create(필드명=값)

from foods.model import Menu #이렇게 불러온 뒤에 사용

Menu.objects.create(name="치킨", price=10000, ...)

 

 

2. Read

모델명.objects.all()

모든 데이터 조회

 

모델명.objects.all().values()

안에 내용까지 모두 보고싶을 때 사용

Menu.objects.all()
Menu.objects.all().values()

 

모델명.objects.all().values(보고싶은 특정 필드명)

내가 지정한 필드값만 볼 수 있다.

Menu.objects.all().values('price')

 

모델명.objects.order_by(특정필드명)

데이터베이스에서 데이터를 가져올 때 

order_by를 사용하면 데이터를 정렬해서 가져올 수 있다.

어떤 필드로 정렬할 것인지 인수로 넣어주면 된다.

Menu.objects.order_by('price')
Menu.objects.order_by('-price')

이렇게 적어주면 가격을 기준으로 오름차순으로 정렬되어 나온다.

내림차순으로 하고 싶다면 필드앞에 -를 붙여주면 된다.

 

 

<get>

하나의 데이터를 조회

 

<filter>

여러 데이터를 조회

조건 키워드와 함께 사용한다.

 

<조건키워드>

필드명__조건키워드 = "조건"

 

필드명__contain="문자열"

"문자열"이 포함된 데이터 조회

Menu.objects.filter(name__contains="코")

-> 음식 이름 중 "코"라는 단어가 들어간 모든 음식을 조회한다. 

 

필드명__range = (시작, 끝)

조건 범위 내의 데이터 조회

 

get은 하나의 데이터만 조회할 때 사용.

조회 결과가 두개 이상이라면 에러가 난다.

예를 들어 코라는 단어가 들어간 모든 단어를 조회할 때 filter 대신 get을 쓰면 1개 이상의 결과가 있기 때문에 

 에러가 난다.

get은 id 같이 고유한 값 하나만 있는 경우를 조회할 때 사용해야 한다.

 

 

3. Update

데이터 수정은 간단하다.

원하는 데이터를 가져온 뒤 원하는 값으로 설정해주면 된다.

save()를 통해 변경된 내용을 저장해준다.

 

 

4. Delete

삭제도 간단하다. 원하는 데이터를 가져온 뒤 delete()를 사용해 삭제하면 된다.

 

'Django' 카테고리의 다른 글

폼(Form)이란?  (0) 2021.08.29
Django 배포 준비  (0) 2021.08.24
Django의 Model과 ORM  (0) 2021.08.23
상태 코드  (0) 2021.08.19
Django 우아한 URL  (0) 2021.08.18

댓글