장고 메소드
2023. 3. 3. 11:28ㆍ개발/토막난 상식
반응형
all() | 테이블 모든 데이터 셋 가져오기 |
filter() | 특정 조건에 부합하는 데이터셋 가져오기 |
exclude() | 특정 조건을 제외한 데이터셋 가져오기 |
get() | 특정 조건에 부합하는 1개의 데이터 가져오기 |
count() | 가져올 데이터의 개수 가져오기 |
first() | 첫번째 데이터 가져오기 |
last() | 가장 마지막 데이터 가져오기 |
exists() | 데이터 유무에 대한 결과(True, False)를 가져오기 |
order_by() | 특정 필드 순서대로 정렬 |
1. filter() 응용
1-1. exact
일치하는 조건을 입력할 때 사용
Boards.objects.filter(title__excact='ㅁㄴㅇ')
Boards.objects.filter(title__iexcact='ㅁㄴㅇ')
# iexact는 대소문자를 가리지 않고 일치하는 조건
- 언더바 두개 (__)
-조건을 사용할 경우
-외부 모델 필드를 사용할 경우
1-2. contains
부분 일치 조건 입력할 때 사용
Boards.objects.filter(title__contains='ㅁㄴㅇ')
Boards.objects.filter(title__icontains='ㅁㄴㅇ')
# icontains는 대소문자를 가리지 않고 부분 일치하는 조건
1-3. in
여러 조건을 포함할 경우 사용
Boards.objects.filter(title__in=['ㅁㄴㅇ','ㄴㅇㄹ'])
1-4. gt / lt / gte / lte
gt (greater than) : >
lt (less than) : <
gte (greater than or equal) : >=
lte (less than or equal) : <=
Boards.objects.filter(registered_date__gt=datetime.date(2023.10.04)
Boards.objects.filter(registered_date__lt=datetime.date(2023.10.04)
1-5. startswith / endswith
startswith : 조건으로 시작하는 문자열 검색
endswith : 조건으로 끝나는 문자열 검색
Boards.objects.filter(title__startswith="book")
1-6. union
두 개 이상의 쿼리셋 변수를 하나의 쿼리셋 값으로 합친다.
data1 = Boards.objects.filter(title__exact="ㅁㄴㅇ")
data2 = Boards.objects.filter(title__exact="ㄴㅇㄹ")
data3 = union(data1, data2)
1-7. intersection()
교집합으로 두 개 이상의 쿼리셋 변수 중 중복된 값을 가지고 온다
data1 = Boards.objects.filter(title__in=["ㅁㄴㅇ", "ㄴㅇㄹ"])
data2 = Boards.objects.filter(title__in=["ㅁㄴㅇ", "ㅇㅀ"])
data3 = intersection(data1, data2)
결과는 title 이 ㅁㄴㅇ인 데이터를 가지고 온다.
반응형
'개발 > 토막난 상식' 카테고리의 다른 글
장고 html {% %} , {{ }} (0) | 2023.03.03 |
---|---|
장고 html 인식 (0) | 2023.03.03 |
함수 기반 뷰(Function-Based Views) vs 클래스 기반 뷰(Class-Based Views) (0) | 2023.03.03 |
Can't connect to MySQL server on '127.0.0.1' (10061) (0) | 2023.03.03 |
Django 란? (0) | 2023.03.02 |