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
- github
- 오블완
- Doker
- 티스토리챌린지
- 아티클 스터디
- 자료구조
- git
- 도커
- django
- Python
- SQL
- CS
- flask
- 코딩테스트
- 연습
- JWT
- 파이썬
- 개발공부
- 장고
- 쿠키(cookie)
- viewsets
- redis
- 세션(Session)
- ERD
- Til
- NoSQL
- docker
- Wil
- nginx
- web
Archives
- Today
- Total
SteadyDrills
Django(장고)- 장고 ORM 중 fillter와 Q 객체( 'Q'object) 본문
240828
filter()
filter() 메서드는 쿼리셋에서 특정 조건을 만족하는 객체들을 필터링하는 데 사용된다. 여러 조건을 조합할 때는 기본적으로 AND 조건이 적용된다.
from app.models import UserModel
# age가 20 이상이고 name이 'Alice'인 객체들 필터링
results = UserModel.objects.filter(age__gte=20, name='Alice')
Q 객체( 'Q'object)
Q 객체는 복잡한 쿼리 조건을 표현할 때 사용됩니다. 특히 OR 조건이나 NOT 조건을 사용할 때 유용합니다. 여러 Q 객체를 사용하여 조건을 조합할 수 있습니다.
from app.models import UserModel
from django.db.models import Q
# age가 20 이상이거나 name이 'Alice'인 객체들 필터링
results = UserModel.objects.filter(Q(age__gte=20) | Q(name='Alice'))
from app.models import UserModel
from django.db.models import Q
# age가 20 이상이거나 name이 'Alice'가 아닌 객체의 수를 카운트
count_results = UserModel.objects.filter(Q(age__gte=20) | ~Q(name='Alice')).count()
print(count_results)
- Q(age__gte=20): age가 20 이상인 조건.
- ~Q(name='Alice'): name이 'Alice'가 아닌 조건.
- |: 두 조건을 OR로 결합.
fillter와 Q 객체( 'Q'object) 의 차이점
- filter(): 기본적으로 AND 조건으로 여러 조건을 결합하여 사용.
- Q 객체: OR 조건이나 NOT 조건을 사용할 때 필요하며, 복잡한 쿼리 조건을 조합할 수 있음.
'웹개발' 카테고리의 다른 글
Serialization란? (0) | 2024.08.30 |
---|---|
RESTful API란? (0) | 2024.08.29 |
장고 프로젝트(: spartamaket) - 검색기능 구현 (0) | 2024.08.27 |
장고 프로젝트(: spartamaket) - 프로필 이미지 삽입기능 & 기본값(default) (0) | 2024.08.27 |
장고 프로젝트(: spartamaket) - 목록 정렬기능 구현 (0) | 2024.08.23 |