django_ORM_create & read & update & delete

sunjin·2023년 3월 28일
0

Django

목록 보기
8/12

ORM

객체 지향 프로그래밍 언어를 사용하여 호환되지 않는 유형의 시스템 간에 데이터를 변환하는 프로그래밍 기술


QuerySetAPI

orm에서 데이터를 검색, 필터링, 정렬 및 그룹화 하는데 사용하는 도구

구문

Article.objects.all()

  • Article : Model class
  • objects : manager
  • all : querysetapi

Query

  • 데이터베이스에 특정한 데이터를 보여 달라는 요청
  • 쿼리문을 작성한다 -> 원하는 데이터를 얻기 위해 데이터베이스에 요청을 보낼 코드를 작성한다.

QuerySet

  • 데이터베이스에게서 전달 받은 객체 목록(데이터 모음)
  • Django ORM을 통해 만들어진 자료형

🤍 CREATE

  • 외부 라이브러리 설치 및 설정하는 방법 !

pip install ipython
pip install django-extensions (🚨 반드시 하 이 픈)

settings.py 에서 Apps에 추가
'django_extensions', (🚨 언더바, 쉼표 잊지 말것)

pip freeze > requirements.txt

python manage.py shell_plus (🚨 언더바)

django shell

django 환경 안에서 실행되는 python shell
(입력한 api 구문이 django 프로젝트에 영향을 준다)

create() 메서드 사용

Todo.objects.create(title='first',content='sunjin')

🤍 Read

Todo.objects.all ()

  • 전체 조회

get()

  • pk와 같이 고유성을 보장하는 조회에서 사용해야 한다 !

Todo.objects.get(pk=1)

filter ()

Todo.objects.filter(content='sunjin')

Todo.objects.filter(title='first')

field lookups

Todo.objects.filter(content__contains='fir')

  • 'fir'이 포함된 모든 데이터 조회

order by

Todo.objects.all().order_by('pk')

  • 오름차순

Todo.objects.all().order_by('-pk')

  • 내림차순

🤍 update

  • 수정할 인스턴스 조회

article = Article.objects.get(pk=1)

  • 인스턴스 변수를 변경

article.title = 'byebye'

  • 저장

article.save()

  • 정상적으로 변경된거 확인해보기

article.title

  • print ('byebye')

🤍 delete

  • 삭제할 인스턴스 조회

article = Article.objects.get(pk=1)

  • delete 메서드 호출 (삭제 된 객체가 반환)

article.delete()


QuerySet API reference

장고걸스

profile
프론트 개발 공부중인 sunjin 입니다 🍀

0개의 댓글