all(): 모델의 모든 객체를 반환
books = Book.objects.all()
filter(): 조건에 맞는 객체들을 반환
books_by_author = Book.objects.filter(author__name='J.K. Rowling')
exclude(): 조건에 맞지 않는 객체들을 반환
non_harry_potter_books = Book.objects.exclude(title__icontains='Harry Potter')
get(): 조건에 맞는 단일 객체를 반환
specific_book = Book.objects.get(id=1)
aggregate(): 집계 함수를 사용하여 쿼리셋의 집계 값을 계산
from django.db.models import Avg
average_price = Book.objects.aggregate(Avg('price'))
annotate(): 각 객체마다 집계 값을 추가
from django.db.models import Count
authors_with_book_count = Author.objects.annotate(book_count=Count('book'))
order_by(): 특정 필드를 기준으로 쿼리셋을 정렬
books_ordered_by_date = Book.objects.order_by('published_date')
reverse(): 쿼리셋의 순서를 반대로 정렬
books_reversed = Book.objects.all().reverse()
values(): 특정 필드들만 선택하여 쿼리셋을 반환
book_titles = Book.objects.values('title')
values_list(): 특정 필드들만 리스트로 반환
book_titles_list = Book.objects.values_list('title', flat=True)
only(): 지정한 필드들만 포함한 쿼리셋을 반환
book_titles_only = Book.objects.only('title')
defer(): 지정한 필드들을 제외한 쿼리셋을 반환
books_without_dates = Book.objects.defer('published_date')
create(): 새로운 객체를 생성하고 데이터베이스에 저장
new_book = Book.objects.create(title='New Book', author=author, published_date='2022-01-01')
bulk_create(): 여러 객체들을 한 번에 생성하여 데이터베이스에 저장
books = [Book(title='Book 1', author=author), Book(title='Book 2', author=author)]
Book.objects.bulk_create(books)
update(): 쿼리셋에 속한 객체들을 변경
Book.objects.filter(author=author).update(price=20)
delete(): 쿼리셋에 속한 객체들을 삭제
Book.objects.filter(published_date__lt='2000-01-01').delete()
count(): 쿼리셋의 객체 수를 반환
book_count = Book.objects.count()
exists(): 쿼리셋에 객체가 존재하는지 여부를 반환
has_books = Book.objects.exists()
distinct(): 중복을 제거한 쿼리셋을 반환
unique_authors = Author.objects.distinct()