본문 바로가기
FRAMEWORK/Django

[Django] 모델 (Model) (2)

by Zzero_o 2024. 1. 20.

 


 

데이터 추가하기 (Create)

 

 shell은 사용자의 명령어를 받아서 해석한 다음 프로그램을 실행해 주는 역할을 한다.

 

 python manage.py shell

   shell을 시작한다.

CLI

 

 

   1) from 앱 이름.models import 모델명

      [앱 이름] 앱 내의 models.py 파일에서 [모델명] 클래스 (모델) 불러온다.

CLI

 

 

   2) 모델명.objects.all()

      [모델명] 모델의 모든 데이터 조회한다.

CLI

 

      아무런 데이터도 넣어주지 않았기 때문에 QuerySet 리스트는 당연히 비어있다. 

 

 

   3) [모델명].objects.create ((필드 명) = "값", ... )

      값을 넣어준다.

CLI

 

 

   4) [모델명].objects.all().values()

      세부데이터를 조회한다.

CLI

 


 

데이터 조회하기 (Read)

 

   1) [모델명].objects.all().values([칼럼명])

      특정 칼럼의 데이터를 조회한다.

CLI

 

 

 

   2) [모델명].objects.order_by(필터)

 

   [모델명].objects.order_by(필터) : 필터대로 오름차순으로 정렬한다.

CLI

 

   [모델명].objects.order_by(-필터) : 필터대로 내림차순으로 정렬한다.

CLI

 

 

 

   3) [모델명].objects.get(name = "후루룩촌국수")

      하나의 데이터를 조회할 때는 get을 사용한다.

CLI

 

 

 

   4) [모델명].objects.filter(score = 8)

      여러개의 데이터를 조회할 때는 filter을 사용한다.

CLI

 

 

 

   5) [모델명].objects.count()

      데이터의 개수를 센다.

CLI

 

 

 

   6) [변수명] = [모델명].objects.exclude(field = value)

      특정 조건을 제외한 데이터를 조회한다.

CLI

 


 

조건 키워드

 

exact 대소문자를 구분해서 조건과 정확히 일치하는지 체크한다
iexact 대소문자를 구분하지 않고 일치하는지 확인한다

 

contains 지정한 문자열을 포함하는지 확인한다
icontains 대소문자를 구분하지 않고 지정한 문자열을 포함하는지 확인한다

 

range(1000, 5000) 지정한 범위 내에 포함되는지 확인한다

 

lt() / gt() 미만 / 초과
lte() / gte() 이하 / 이상
in 주어진 리스트 안에 존재하는 자료를 조회한다

 


 

데이터 수정하기 (Update)

 

   1) [변수명] = [모델명].object.get(id = 1)

      변경할 데이터를 선택한다.

 

 

   2) [변수명].[칼럼명] = "수정할 value"

 

 

   3) [변수명].save()

      변경할 데이터를 데이터베이스에 반영한다.

 


 

데이터 삭제하기 (Delete)

 

   [변수명].delete()

 


 

QuerySet

 

 QuerySet이란 ORM을 이용해서 데이터와 소통할 때 발생하는 자료형으로 리스트와 비슷하다.

 

 print(data.query)

 

일종의 SQL문이다.


 

정리

 

'FRAMEWORK > Django' 카테고리의 다른 글

[Django] 배포하기  (0) 2024.01.20
[Django] 모델 (Model) (3)  (0) 2024.01.20
[Django] 모델 (Model) (1)  (0) 2024.01.20
[Django] 템플릿 (Template) (2)  (0) 2024.01.20
[Django] 템플릿(Template) (1)  (0) 2024.01.17