ORM이란 Object Relation Mapping의 약자로. 객체(Object)와 관계형 DB(Relation)를 연결(Mapper)해주는 것을 뜻한다.
ORM을 사용하면 데이터를 CRUD를 할때 SQL을 사용하지 않고도 가능하게 한다.
[데이터 조회]
Product.objects.all() # 전체 데이터 조회
[get vs filter]
get은 1개만 반환, filter는 여러개 반환
만약 get을 사용했는데 반환이 여러개면 오류
Product.objects.get(id=1)
Product.objects.filter(id=1)
[lt , gt, lte, gte]
Product.objects.filter(price__lt=9000) # price < 9000
Product.objects.filter(price__gt=9000) # price > 9000
Product.objects.filter(price__lte=9000) # price <= 9000
Product.objects.filter(price__gte=9000) # price >= 9000
[in]
Product.objects.filter(price__in=[7000,8000]) # []안에 속한것만 리턴
[contains]
products.filter(pname__contains='버거') # 포함
[aggregate]
필드의 합, 평균, 개수를 셀때 사용
Product.objects.filter(price__gt=9000).aggregate(Sum('price'))
Sum, Avg, StdDev, Count, Max 등이 있다
[exclude]
제외하고 리턴
products.exclude(pname='파이썬')
[order_by]
정렬하기, -는 내림차순으로 정렬
Product.objects.all().order_by('-id')
[values]
원하는 컬럼만 들고오기
Product.objects.values('price')
[데이터 삽입]
Product(
price = 8000,
pname = "상품이름"
).save();
[데이터 수정]
upRec = Product.objects.get(id=1)
upRec.price = request.POST.get("price")
upRec.pname = request.POST.get("pname")
upRec.save()
[데이터 삭제]
delRec = Product.objects.get(id=1)
delRec.delete()
'WEB' 카테고리의 다른 글
[Window] 원격 데스크톱 연결하기 (0) | 2022.07.18 |
---|---|
[spring boot] gitignore DB 정보 제외하기 (0) | 2022.03.12 |
[Django] models.py 에서 Meta, __str__ 사용하기 (0) | 2022.01.22 |
[Django] 장고 admin에 앱 모델 등록하기 (0) | 2022.01.22 |
[Django] 장고 admin 페이지 사용하기 (0) | 2022.01.22 |