SlideShare a Scribd company logo
1 of 32
Download to read offline
Django ORM
김공고 조
김준수
@harvey
Django 를 설명 하기 전에 ..!
Python
과거
인건비 ↓ / 물건값 ↑
현재
인건비 ↑ / 물건값 ↓
좀 더 적은 자본으로
좀 더 많은 일을 해내야 함
Python
vs
Java
Django
Django
Python Web Framework
Web Framework
웹을 만들 때 자주 구현하는
기능들을 모아둔 “틀 , 도구”
JSP – Spring
Node.js Express.js–
Python – Django
Ruby Ruby on Rails–
PHP - CodeIgniter
Django
●
Speed
●
ORM
●
Many Library
Browser
urls.pyTemplates
models.py
views.py
DB
Little Demo
ORM
ORM
Object-Relational Mapping
ORM
Object-Relational Mapper
SQL x OOP
SQL
Database
Tables
CRUD
OOP
Project
Class
Method
≒
≒
≒
장 점
● 직관적
● 로직에 집중
● 코딩량 감소
● 트렌드
주의할 점
● SQL 에 대한 충분한 이해
● 구조에 대한 충분한 이해
ORM Demo
Conclusion
Python 이 생산성은 좋지만
많은 처리를 할 때는
때에 따라서 Java 가 나을 수 있음 !
모든 걸 ORM 로 해결하려하지 말고 ,
필요에 따라 SQL 도 사용
ORM 기술은 다른 언어에도 있음 .
굳이 안 써도 되겠지만
모르는건 노노
QnA
Ref.
- JAVA, ORM의 사실과 오해 SQL
- Django ORM 왜 어렵게 느껴질까?
- Object-relational Mappers - Full Stack Python
- Python MySQL Database Accesss
- 좌충우돌 ORM 개발기 | Devon 2012
- ORM을 활용할 경우의 설계, 개발 과정
- Django By Example
- Python sqlite3 API
- Web Framework (웹 프레임워크)
- ORM (Object Relational Mapping) 을 왜 쓸까?

More Related Content

What's hot

게임서버프로그래밍 #1 - IOCP
게임서버프로그래밍 #1 - IOCP게임서버프로그래밍 #1 - IOCP
게임서버프로그래밍 #1 - IOCPSeungmo Koo
 
게임서버프로그래밍 #0 - TCP 및 이벤트 통지모델
게임서버프로그래밍 #0 - TCP 및 이벤트 통지모델게임서버프로그래밍 #0 - TCP 및 이벤트 통지모델
게임서버프로그래밍 #0 - TCP 및 이벤트 통지모델Seungmo Koo
 
웹표준과 자동화의 약속된 승리
웹표준과 자동화의 약속된 승리웹표준과 자동화의 약속된 승리
웹표준과 자동화의 약속된 승리Young-Ho Cha
 
간단하게 알아보는 좋은 코드 서영훈
간단하게 알아보는 좋은 코드   서영훈간단하게 알아보는 좋은 코드   서영훈
간단하게 알아보는 좋은 코드 서영훈Seo YoungHoon
 
[부스트캠퍼세미나]권혁우_REST는 바이바이_ GraphQL과 함께하는 칼퇴시대
[부스트캠퍼세미나]권혁우_REST는 바이바이_ GraphQL과 함께하는 칼퇴시대[부스트캠퍼세미나]권혁우_REST는 바이바이_ GraphQL과 함께하는 칼퇴시대
[부스트캠퍼세미나]권혁우_REST는 바이바이_ GraphQL과 함께하는 칼퇴시대CONNECT FOUNDATION
 

What's hot (6)

React principle
React principleReact principle
React principle
 
게임서버프로그래밍 #1 - IOCP
게임서버프로그래밍 #1 - IOCP게임서버프로그래밍 #1 - IOCP
게임서버프로그래밍 #1 - IOCP
 
게임서버프로그래밍 #0 - TCP 및 이벤트 통지모델
게임서버프로그래밍 #0 - TCP 및 이벤트 통지모델게임서버프로그래밍 #0 - TCP 및 이벤트 통지모델
게임서버프로그래밍 #0 - TCP 및 이벤트 통지모델
 
웹표준과 자동화의 약속된 승리
웹표준과 자동화의 약속된 승리웹표준과 자동화의 약속된 승리
웹표준과 자동화의 약속된 승리
 
간단하게 알아보는 좋은 코드 서영훈
간단하게 알아보는 좋은 코드   서영훈간단하게 알아보는 좋은 코드   서영훈
간단하게 알아보는 좋은 코드 서영훈
 
[부스트캠퍼세미나]권혁우_REST는 바이바이_ GraphQL과 함께하는 칼퇴시대
[부스트캠퍼세미나]권혁우_REST는 바이바이_ GraphQL과 함께하는 칼퇴시대[부스트캠퍼세미나]권혁우_REST는 바이바이_ GraphQL과 함께하는 칼퇴시대
[부스트캠퍼세미나]권혁우_REST는 바이바이_ GraphQL과 함께하는 칼퇴시대
 

Viewers also liked

Basic Django ORM
Basic Django ORMBasic Django ORM
Basic Django ORMAyun Park
 
Introduction to Django REST Framework, an easy way to build REST framework in...
Introduction to Django REST Framework, an easy way to build REST framework in...Introduction to Django REST Framework, an easy way to build REST framework in...
Introduction to Django REST Framework, an easy way to build REST framework in...Zhe Li
 
Advanced Django ORM techniques
Advanced Django ORM techniquesAdvanced Django ORM techniques
Advanced Django ORM techniquesDaniel Roseman
 
Django class based views for beginners
Django class based views for beginnersDjango class based views for beginners
Django class based views for beginnersSpin Lai
 
Django REST Framework
Django REST FrameworkDjango REST Framework
Django REST FrameworkLoad Impact
 
REST Easy with Django-Rest-Framework
REST Easy with Django-Rest-FrameworkREST Easy with Django-Rest-Framework
REST Easy with Django-Rest-FrameworkMarcel Chastain
 
Minicurso de Django - Desenvolvimento ágil web com Django e Python
Minicurso de Django - Desenvolvimento ágil web com Django e PythonMinicurso de Django - Desenvolvimento ágil web com Django e Python
Minicurso de Django - Desenvolvimento ágil web com Django e PythonGuilherme Garcia
 
Django Introduction & Tutorial
Django Introduction & TutorialDjango Introduction & Tutorial
Django Introduction & Tutorial之宇 趙
 
Django개발은 PyCharm에서
Django개발은 PyCharm에서Django개발은 PyCharm에서
Django개발은 PyCharm에서Kyoung Up Jung
 
Django 實戰 - 自己的購物網站自己做
Django 實戰 - 自己的購物網站自己做Django 實戰 - 自己的購物網站自己做
Django 實戰 - 自己的購物網站自己做flywindy
 

Viewers also liked (13)

Django orm-tips
Django orm-tipsDjango orm-tips
Django orm-tips
 
Basic Django ORM
Basic Django ORMBasic Django ORM
Basic Django ORM
 
Django Girls Tutorial
Django Girls TutorialDjango Girls Tutorial
Django Girls Tutorial
 
Introduction to Django REST Framework, an easy way to build REST framework in...
Introduction to Django REST Framework, an easy way to build REST framework in...Introduction to Django REST Framework, an easy way to build REST framework in...
Introduction to Django REST Framework, an easy way to build REST framework in...
 
Advanced Django ORM techniques
Advanced Django ORM techniquesAdvanced Django ORM techniques
Advanced Django ORM techniques
 
Django_fukuoka
Django_fukuokaDjango_fukuoka
Django_fukuoka
 
Django class based views for beginners
Django class based views for beginnersDjango class based views for beginners
Django class based views for beginners
 
Django REST Framework
Django REST FrameworkDjango REST Framework
Django REST Framework
 
REST Easy with Django-Rest-Framework
REST Easy with Django-Rest-FrameworkREST Easy with Django-Rest-Framework
REST Easy with Django-Rest-Framework
 
Minicurso de Django - Desenvolvimento ágil web com Django e Python
Minicurso de Django - Desenvolvimento ágil web com Django e PythonMinicurso de Django - Desenvolvimento ágil web com Django e Python
Minicurso de Django - Desenvolvimento ágil web com Django e Python
 
Django Introduction & Tutorial
Django Introduction & TutorialDjango Introduction & Tutorial
Django Introduction & Tutorial
 
Django개발은 PyCharm에서
Django개발은 PyCharm에서Django개발은 PyCharm에서
Django개발은 PyCharm에서
 
Django 實戰 - 自己的購物網站自己做
Django 實戰 - 自己的購物網站自己做Django 實戰 - 自己的購物網站自己做
Django 實戰 - 自己的購物網站自己做
 

Similar to Django ORM

OSS개발자포럼(2017.01) 파이썬 소개자료
OSS개발자포럼(2017.01) 파이썬 소개자료 OSS개발자포럼(2017.01) 파이썬 소개자료
OSS개발자포럼(2017.01) 파이썬 소개자료 YoChun YoChun
 
RDS에서 Aurora PostgreSQL 마이그레이션하기
RDS에서 Aurora PostgreSQL 마이그레이션하기RDS에서 Aurora PostgreSQL 마이그레이션하기
RDS에서 Aurora PostgreSQL 마이그레이션하기Kyuhyun Byun
 
Spark machine learning & deep learning
Spark machine learning & deep learningSpark machine learning & deep learning
Spark machine learning & deep learninghoondong kim
 
1 Python기초 오리엔테이션
1 Python기초 오리엔테이션1 Python기초 오리엔테이션
1 Python기초 오리엔테이션cpt mobilex
 
staccato 강연 20190612 - 미림여고_마한빈
staccato 강연 20190612 - 미림여고_마한빈staccato 강연 20190612 - 미림여고_마한빈
staccato 강연 20190612 - 미림여고_마한빈staccato
 
Crawling with AWS Lambda
Crawling with AWS LambdaCrawling with AWS Lambda
Crawling with AWS LambdaSeungho Kim
 
[246] foursquare데이터라이프사이클 설현준
[246] foursquare데이터라이프사이클 설현준[246] foursquare데이터라이프사이클 설현준
[246] foursquare데이터라이프사이클 설현준NAVER D2
 
FullStack 개발자 만들기 과정 소개 (Android + MEAN Stack + Redis 다루기)
FullStack 개발자 만들기 과정 소개  (Android + MEAN Stack + Redis 다루기) FullStack 개발자 만들기 과정 소개  (Android + MEAN Stack + Redis 다루기)
FullStack 개발자 만들기 과정 소개 (Android + MEAN Stack + Redis 다루기) YoungSu Son
 
Java (spring) vs javascript (node.js)
Java (spring) vs javascript (node.js)Java (spring) vs javascript (node.js)
Java (spring) vs javascript (node.js)류 영수
 
2007년 제8회 JCO 컨퍼런스 POJO 프로그래밍 발표 자료
2007년 제8회 JCO 컨퍼런스 POJO 프로그래밍 발표 자료2007년 제8회 JCO 컨퍼런스 POJO 프로그래밍 발표 자료
2007년 제8회 JCO 컨퍼런스 POJO 프로그래밍 발표 자료beom kyun choi
 
서비스 기획부터 런칭까지 과정 + 좋은 개발자가 되는 법!
서비스 기획부터 런칭까지 과정 + 좋은 개발자가 되는 법!서비스 기획부터 런칭까지 과정 + 좋은 개발자가 되는 법!
서비스 기획부터 런칭까지 과정 + 좋은 개발자가 되는 법!Leonardo Taehwan Kim
 
AngularJS In Production
AngularJS In ProductionAngularJS In Production
AngularJS In ProductionMooYeol Lee
 
Laravel로 스타트업 기술 스택 구성하기
Laravel로 스타트업 기술 스택 구성하기Laravel로 스타트업 기술 스택 구성하기
Laravel로 스타트업 기술 스택 구성하기KwangSeob Jeong
 
[DS Meetup] iPad로 가벼운 분석환경 구축해보기
[DS Meetup] iPad로 가벼운 분석환경 구축해보기[DS Meetup] iPad로 가벼운 분석환경 구축해보기
[DS Meetup] iPad로 가벼운 분석환경 구축해보기Minho Lee
 
Ryan Dahl의 Node.js 소개 동영상 해설 by doortts
Ryan Dahl의 Node.js 소개 동영상 해설 by doorttsRyan Dahl의 Node.js 소개 동영상 해설 by doortts
Ryan Dahl의 Node.js 소개 동영상 해설 by doorttsSuwon Chae
 
PyCon 12월 세미나 - 실전 파이썬 프로그래밍 책 홍보
PyCon 12월 세미나 - 실전 파이썬 프로그래밍 책 홍보PyCon 12월 세미나 - 실전 파이썬 프로그래밍 책 홍보
PyCon 12월 세미나 - 실전 파이썬 프로그래밍 책 홍보Young Hoo Kim
 
Django in Production
Django in ProductionDjango in Production
Django in ProductionHyun-woo Park
 
201803 파이썬 세미나
201803 파이썬 세미나201803 파이썬 세미나
201803 파이썬 세미나JeongHwan Kim
 
스프링 코어 강의 1부 - 봄 맞이 준비 운동
스프링 코어 강의 1부 - 봄 맞이 준비 운동스프링 코어 강의 1부 - 봄 맞이 준비 운동
스프링 코어 강의 1부 - 봄 맞이 준비 운동Sungchul Park
 

Similar to Django ORM (20)

OSS개발자포럼(2017.01) 파이썬 소개자료
OSS개발자포럼(2017.01) 파이썬 소개자료 OSS개발자포럼(2017.01) 파이썬 소개자료
OSS개발자포럼(2017.01) 파이썬 소개자료
 
RDS에서 Aurora PostgreSQL 마이그레이션하기
RDS에서 Aurora PostgreSQL 마이그레이션하기RDS에서 Aurora PostgreSQL 마이그레이션하기
RDS에서 Aurora PostgreSQL 마이그레이션하기
 
Spark machine learning & deep learning
Spark machine learning & deep learningSpark machine learning & deep learning
Spark machine learning & deep learning
 
1 Python기초 오리엔테이션
1 Python기초 오리엔테이션1 Python기초 오리엔테이션
1 Python기초 오리엔테이션
 
staccato 강연 20190612 - 미림여고_마한빈
staccato 강연 20190612 - 미림여고_마한빈staccato 강연 20190612 - 미림여고_마한빈
staccato 강연 20190612 - 미림여고_마한빈
 
Crawling with AWS Lambda
Crawling with AWS LambdaCrawling with AWS Lambda
Crawling with AWS Lambda
 
[246] foursquare데이터라이프사이클 설현준
[246] foursquare데이터라이프사이클 설현준[246] foursquare데이터라이프사이클 설현준
[246] foursquare데이터라이프사이클 설현준
 
FullStack 개발자 만들기 과정 소개 (Android + MEAN Stack + Redis 다루기)
FullStack 개발자 만들기 과정 소개  (Android + MEAN Stack + Redis 다루기) FullStack 개발자 만들기 과정 소개  (Android + MEAN Stack + Redis 다루기)
FullStack 개발자 만들기 과정 소개 (Android + MEAN Stack + Redis 다루기)
 
Java (spring) vs javascript (node.js)
Java (spring) vs javascript (node.js)Java (spring) vs javascript (node.js)
Java (spring) vs javascript (node.js)
 
2007년 제8회 JCO 컨퍼런스 POJO 프로그래밍 발표 자료
2007년 제8회 JCO 컨퍼런스 POJO 프로그래밍 발표 자료2007년 제8회 JCO 컨퍼런스 POJO 프로그래밍 발표 자료
2007년 제8회 JCO 컨퍼런스 POJO 프로그래밍 발표 자료
 
서비스 기획부터 런칭까지 과정 + 좋은 개발자가 되는 법!
서비스 기획부터 런칭까지 과정 + 좋은 개발자가 되는 법!서비스 기획부터 런칭까지 과정 + 좋은 개발자가 되는 법!
서비스 기획부터 런칭까지 과정 + 좋은 개발자가 되는 법!
 
AngularJS In Production
AngularJS In ProductionAngularJS In Production
AngularJS In Production
 
Laravel로 스타트업 기술 스택 구성하기
Laravel로 스타트업 기술 스택 구성하기Laravel로 스타트업 기술 스택 구성하기
Laravel로 스타트업 기술 스택 구성하기
 
팀장 잔소리
팀장 잔소리팀장 잔소리
팀장 잔소리
 
[DS Meetup] iPad로 가벼운 분석환경 구축해보기
[DS Meetup] iPad로 가벼운 분석환경 구축해보기[DS Meetup] iPad로 가벼운 분석환경 구축해보기
[DS Meetup] iPad로 가벼운 분석환경 구축해보기
 
Ryan Dahl의 Node.js 소개 동영상 해설 by doortts
Ryan Dahl의 Node.js 소개 동영상 해설 by doorttsRyan Dahl의 Node.js 소개 동영상 해설 by doortts
Ryan Dahl의 Node.js 소개 동영상 해설 by doortts
 
PyCon 12월 세미나 - 실전 파이썬 프로그래밍 책 홍보
PyCon 12월 세미나 - 실전 파이썬 프로그래밍 책 홍보PyCon 12월 세미나 - 실전 파이썬 프로그래밍 책 홍보
PyCon 12월 세미나 - 실전 파이썬 프로그래밍 책 홍보
 
Django in Production
Django in ProductionDjango in Production
Django in Production
 
201803 파이썬 세미나
201803 파이썬 세미나201803 파이썬 세미나
201803 파이썬 세미나
 
스프링 코어 강의 1부 - 봄 맞이 준비 운동
스프링 코어 강의 1부 - 봄 맞이 준비 운동스프링 코어 강의 1부 - 봄 맞이 준비 운동
스프링 코어 강의 1부 - 봄 맞이 준비 운동
 

More from Junsu Kim

4회ssscon 라이트닝토크(agile) upload
4회ssscon 라이트닝토크(agile) upload4회ssscon 라이트닝토크(agile) upload
4회ssscon 라이트닝토크(agile) uploadJunsu Kim
 
3회ssscon발표자료 접근성
3회ssscon발표자료 접근성3회ssscon발표자료 접근성
3회ssscon발표자료 접근성Junsu Kim
 
2016 software engineering workshop 알려주지 않았지만 알아야 하는 사실들
2016 software engineering workshop 알려주지 않았지만 알아야 하는 사실들2016 software engineering workshop 알려주지 않았지만 알아야 하는 사실들
2016 software engineering workshop 알려주지 않았지만 알아야 하는 사실들Junsu Kim
 
Web Framework (웹 프레임워크)
Web Framework (웹 프레임워크)Web Framework (웹 프레임워크)
Web Framework (웹 프레임워크)Junsu Kim
 
리눅스 간단 강의 5강
리눅스 간단 강의 5강리눅스 간단 강의 5강
리눅스 간단 강의 5강Junsu Kim
 
리눅스 간단 강의 4강
리눅스 간단 강의 4강리눅스 간단 강의 4강
리눅스 간단 강의 4강Junsu Kim
 
리눅스 간단 강의 3강
리눅스 간단 강의 3강리눅스 간단 강의 3강
리눅스 간단 강의 3강Junsu Kim
 
리눅스 간단 강의 2강
리눅스 간단 강의 2강리눅스 간단 강의 2강
리눅스 간단 강의 2강Junsu Kim
 
리눅스 간단 강의 1강
리눅스 간단 강의 1강리눅스 간단 강의 1강
리눅스 간단 강의 1강Junsu Kim
 
웹 접근성 (Web Accessibility)
웹 접근성 (Web Accessibility)웹 접근성 (Web Accessibility)
웹 접근성 (Web Accessibility)Junsu Kim
 

More from Junsu Kim (10)

4회ssscon 라이트닝토크(agile) upload
4회ssscon 라이트닝토크(agile) upload4회ssscon 라이트닝토크(agile) upload
4회ssscon 라이트닝토크(agile) upload
 
3회ssscon발표자료 접근성
3회ssscon발표자료 접근성3회ssscon발표자료 접근성
3회ssscon발표자료 접근성
 
2016 software engineering workshop 알려주지 않았지만 알아야 하는 사실들
2016 software engineering workshop 알려주지 않았지만 알아야 하는 사실들2016 software engineering workshop 알려주지 않았지만 알아야 하는 사실들
2016 software engineering workshop 알려주지 않았지만 알아야 하는 사실들
 
Web Framework (웹 프레임워크)
Web Framework (웹 프레임워크)Web Framework (웹 프레임워크)
Web Framework (웹 프레임워크)
 
리눅스 간단 강의 5강
리눅스 간단 강의 5강리눅스 간단 강의 5강
리눅스 간단 강의 5강
 
리눅스 간단 강의 4강
리눅스 간단 강의 4강리눅스 간단 강의 4강
리눅스 간단 강의 4강
 
리눅스 간단 강의 3강
리눅스 간단 강의 3강리눅스 간단 강의 3강
리눅스 간단 강의 3강
 
리눅스 간단 강의 2강
리눅스 간단 강의 2강리눅스 간단 강의 2강
리눅스 간단 강의 2강
 
리눅스 간단 강의 1강
리눅스 간단 강의 1강리눅스 간단 강의 1강
리눅스 간단 강의 1강
 
웹 접근성 (Web Accessibility)
웹 접근성 (Web Accessibility)웹 접근성 (Web Accessibility)
웹 접근성 (Web Accessibility)
 

Django ORM