반응형
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- ReactNaitve
- Firebase
- apk
- 맛집
- 장고
- 강릉
- Django
- 시놀로지
- 리액트
- Excel
- reactnative
- SQL
- 리엑트
- 캠핑장
- docker
- MSSQL
- 가상환경
- 엑셀
- 연곡해변
- 캠핑
- synology
- 함수
- 수도권 근교
- react
- Nas
- react native
- 나스
- Expo
- 시놀로지나스
- 서울
Archives
- Today
- Total
차근차근 생활 & 코딩
[DJANGO] 장고 ORM 정리 본문
반응형
장고 ORM을 정리해보고자 합니다.
처음 배울 때 ORM의 개념조차 모른 상태에서 시작할 때 접고 싶었으나 다른 사람들은 그러질 않길 바라며,
내용을 정리하여 공유드리고자 합니다.
- 아래 링크는 ORM 참고되는 자료가 있으니 한번 보는 것도 좋습니다.
- https://django-orm-cookbook-ko.readthedocs.io/en/latest/index.html
그럼 장고 ORM을 시작 하도록 겠습니다.
ORM이란, 객채(Object)의 관계(Relational)를 연결(Mapper)해주는 것을 뜻한다.
객체 지향적인 방법을 사용하여 데이터베이스의 데이터를 쉽게 조작할 수 있게 해주는 것이다.
즉, Django의 ORM이란 파이썬과 데이터베이스의 SQL사이의 통역사 역할을 해준다.
앞으로 아래의 Function을 활용하여 ORM을 완성해 갈 것입니다.
원하는 query를 만들기 위해서는 함수들을 사용해야 합니다.
지금부터 같이 하나씩 공부해보도록 합시다.
조건 키워드
① model.objects.filter(name__contains=’Welcom’)
② model.objects.filter(name__icontains=’Welcom’)
: ① 문자 검색할 수 있음 / ② 대소문자를 구분하지 않음
ORM을 활용한 데이터 전체 불러오기
# SQL CODE
SELECT * FROM TABLE
Ex) SQL
SELECT title, text FROM Post
# DJANGO ORM CODE
Model.objects.all()
Ex) Django Model.py
from django.db import models
class Post(models.Model):
title = models.CharField(max_length=200)
text = models.TextField()
ORM을 활용한 데이터 필터
Get과 Filter 차이
- Get : 한 개의 데이터를 추출할 때 사용
- Filter : 여러 개의 데이터를 추출 할때 사용
#[SQL]
>>> SELECT * FROM TABLE WHERE id = 1
#[ORM]
#필터를 활용한 id 테이블 검색
>>> Model.objescts.filter(id=1)
# Get을 활용한 id 테이블 검색
>>> Model.objects.get(id=1)
ORM을 활용한 데이터 - 정렬하기
[SQL 문법]
SELECT * FROM TABLE1 ORDER BY(create_date)
[ORM 문법]
Model.objects.all().order_by(‘created_date’)
ORM을 활용한 데이터 - 평균, 최소, 최대, 합계
View 테이블에 아래와 같이 import Code를 넣어 주지 않으면 에러가 발생할 테니 꼭 넣어 주길 바랍니다.
from django.db.models import Avg, Max, Min, Sum
[SQL CODE]
SELECT COUNT(PROCESS)
FROM TABLE
GROUP BY PROCESS
[ORM CODE]
TABLE.objects.all().aggregate(Avg('PROCESS')) #평균
TABLE.objects.all().aggregate(Min('PROCESS')) #최소
TABLE.objects.all().aggregate(Max('PROCESS')) #최대
TABLE.objects.all().aggregate(Sum('PROCESS')) #합계
반응형
'IT > DJANGO(장고)' 카테고리의 다른 글
[DJANGO] 장고 시작하기 - 설치하기 & 프로젝트 생성 (0) | 2021.08.01 |
---|---|
[DJANGO] 장고 시작하기 - 튜토리얼 사이트 소개 (0) | 2021.07.27 |
[DJANGO] 장고 유용한 패키지 & 라이브러리 - 추천 (0) | 2021.07.26 |
[DJANGO] 유용한 패키지 - Shell_plus (0) | 2021.07.26 |
[DJANGO] 장고 자동 로그아웃 (0) | 2021.07.25 |
Comments