ORM은 각 언어별로 있는 기능.
원래 DB 서버의 어떤 데이터를 조회, 추가, 수정, 삭제 등을 할 때는 sql이라는 언어를 써야된다.
그런데 sql을 사용하지 않고, 파이썬이라면 파이썬 코드로, 자바면 자바로,
각 언어 그대로를 활용해서 sql 코드를 자동으로 만들어주는 라이브러리가 있다.
이것을 바로 ORM 이라고 한다.
장고에서는 Django Model이 장고의 ORM이다.
파이썬을 장고로 통해 DB테이블을 만들어준다.(makemigration)
파이썬으로 짠 클래스가 DB로 맵핑해주는 것을 O.R.M이라고 한다.
(즉, 파이썬 언어로 DB테이블을 생성할 수 있다.)
migrations.py의 역할 :
파이썬 용어를 sql문으로 바꿔 통신을 해준다
get, filiter
get : 테이블의 id 하나를 받아온다(하나의 인스턴스 밖에 받아오지 못한다.)filiter : 여러개 호출가능,
리스트로 받을 수 있음 (db에서 파이썬으로)즉 차이점은 반환하는 값이 하나냐, 여러개냐의 차이
미리 get이나 filter로 불러와서 update함수로 바꿀 수 있다.
키값 한줄을 지우고 데이터값을 추가하면
그 다음 차례로 추가된다.(지워진 데이터 부분은 빈공간으로 남는다.)
하지만 빈자리 키값을 지정하여서 데이터를 입력할 수도 있다.