Tiny Bunny

Rookies/인프라 활용을 위한 파이썬

[SK shieldus Rookies 19기] django 데이터 처리

bento 2024. 3. 8. 16:44
[SK쉴더스 Rookies 19기] 클라우드 기반 스마트 융합보안 과정

ORM..

 

01. 데이터 생성

장고 쉘 실행

 

from pybo.models import Question, Answer
from django.utils import timezone
q = Question(subject='pybo가 무엇인가요?', content='pybo에 대해서 알려 주세요', create_date=timezone.now())
q.save()

q.save() = 모델 데이터를 데이터베이스에 저장

 

 

pybo_question에 들어간 모습 확인

 

변수 값 출력 / 장고가 자동으로 넣어준 필드

q = Question(subject='두번째 질문입니다.', content='ID는 자동으로 생성되나요?', create_date=timezone.now())
q.save()
q.id

 

02. 데이터 조회

모든 데이터 조회

- 2개가 들어있구나, 숫자는 아까 장고가 부여해준 id값

 

id가 아닌 다른 정보를 출력하려면

오버라이딩

 

Question 모델 데이터 출력 시 바뀐 모습!

 

조건 걸어보기

- id가 1

- QuerySet 형태로 반환 ver = 리스트 형태 = 인덱스로 가져와야 사용 가능 ↓

빈 경우에는 빈 QuerySet ↓

 

 

객체 타입 반환 ver = 필드 이름으로 그냥 가져오기 가능 ↓

빈 경우에는 오류 ↓

 

subject= 완전 일치 조회

subject__contains= like연산

 

03. 데이터 수정

조회 후 수정

q.save() 필수

 

04. 데이터 삭제

조회 후 삭제

 

바로 지워진 모습

save가 필요 없음

 

05. 연결된 데이터 처리

timezone(시간용)

 

인자 값으로 넣어주기

 

- 답에 연결된 질문 조회하기

 

- 질문에 연결된 답 조회하기

연결 되어있는 모델명_set 형식으로 조회

728x90