1. Q객체Q객체는 filter문에서 and, or, not 같은 복잡한 비교 연산을 간단하게 쿼리하는데 사용된다.result = ( Book.objects.filter(name__startswith="a") | Book.objects.filter(name__startswith="b"))result = Book.objects.filter( Q(name__startswith="a") | Q(name__startswith="b"))result = Book.objects.filter( ~Q(name__startswith="a") | Q(name__startswith="b"))Q를 사용하면 두 개의 filter 문을 |, &로 조합하는것 보다 filter 내부에서 비교연산자를 사용할 수 있게 해줘서 훨씬 짧고..