django - Queryset API

whybein·2020년 3월 15일
0

django

목록 보기
11/13
post-thumbnail

장고에서 데이터를 다루기 위해서는 쿼리셋을 잘 활용해야 합니다. 장고의 QuerySet API reference
문서를 정리해 보려고 합니다. (계속 업데이트 예정입니다.)

 

1. 새로운 쿼리셋을 호출하는 메써드

Methods that return new QuerySets

 

filter()

조건에 해당하는 쿼리셋을 불러옵니다. lookup 필드 포맷도 가능하며 or 조건을 적용해야 할 경우 Q객체도 사용 가능합니다.

Entry.objects.filter(id=1)

select ..
where id=1


Entry.objects.filter(id__gt=4)

select ..
where id > 4

 

exclude()

조건에 해당하지 않는 쿼리셋을 불러옵니다. lookup 필드 포맷도 가능합니다.

Entry.objects.exclude(id=1)

select ..
where not id=1

annotate()
order_by()
reverse()
distinct()
values()
values_list()
dates()
datetimes()
none()
all()
union()
intersection()
difference()
select_related()
prefetch_related()
extra()
defer()
only()
using()
select_for_update()
raw()

 


2. 새로운 쿼리셋을 호출하는 연산자

Operators that return new QuerySets

AND (&)
OR (|)

 


3. 쿼리셋을 호출하지 않는 메써드

Methods that do not return QuerySets

get()
create()
get_or_create()
update_or_create()
bulk_create()
bulk_update()
count()
in_bulk()
iterator()
With server-side cursors
Without server-side cursors
latest()
earliest()
first()
last()
aggregate()
exists()
update()
delete()
as_manager()
explain()

 


4. 필드 룩업

Field lookups

exact
iexact
contains
icontains
in
gt
gte
lt
lte
startswith
istartswith
endswith
iendswith
range
date
year
iso_year
month
day
week
week_day
quarter
time
hour
minute
second
isnull
regex
iregex

 


5. 집합 함수

Aggregation functions

expressions
output_field
filter
**extra
Avg
Count
Max
Min
StdDev
Sum
Variance

 


6. 쿼리 관련 도구들

Query-related tools

profile
Back-End Developer

0개의 댓글