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 |
댓글