Django

고급 QuerySet

Lookups, Q objects, F expressions, aggregation, annotations, select_related, prefetch_related

25 면접 질문·
Mid-Level
1

필드가 특정 문자열을 포함하는 객체를 대소문자 구분 없이 필터링할 수 있는 lookup은 무엇입니까?

답변

icontains lookup은 필드가 부분 문자열을 포함하는지 대소문자를 구분하지 않고 검색합니다. icontains의 접두사 'i'는 비교 시 대소문자를 무시함을 나타내며, 대소문자가 달라질 수 있는 사용자 검색에 유용합니다.

2

select_related와 prefetch_related의 주요 차이점은 무엇입니까?

답변

select_related는 SQL JOIN을 사용하여 관련 객체를 단일 쿼리로 가져오지만 ForeignKey 및 OneToOne 관계에서만 작동합니다. prefetch_related는 별도의 쿼리를 실행한 다음 Python에서 객체를 연결하므로 ManyToMany 및 reverse ForeignKey 관계에 적합합니다.

3

OR 연산자로 필터 조건을 결합할 수 있는 Django 객체는 무엇입니까?

답변

Q object는 | (OR), & (AND), ~ (NOT) 연산자로 조건을 결합하여 복잡한 쿼리를 구성할 수 있습니다. Q object가 없으면 연결된 filter() 호출은 AND 조건만 적용하므로 OR 쿼리를 직접 만드는 것이 불가능합니다.

4

업데이트 시 Python 값 대신 F() expression을 사용하는 주요 이점은 무엇입니까?

5

QuerySet 대신 계산된 값의 딕셔너리를 반환하는 aggregation 메서드는 무엇입니까?

+22 면접 질문

다음 면접을 위해 Django을 마스터하세요

모든 질문, flashcards, 기술 테스트, 코드 리뷰 연습, 면접 시뮬레이터에 접근하세요.

무료로 시작하기