django
objects.get()과 objects.filter()
베스트오버
2023. 5. 1. 21:13
Django에서 QuerySet 객체에서 데이터를 다룰 때 사용되는 함수입니다.
objects.get()은 QuerySet에서 하나의 객체만 가져올 때 사용됩니다. 이 함수는 인자로 조건을 지정하여 해당 조건을 만족하는 객체를 가져옵니다. 만약 해당 조건을 만족하는 객체가 하나도 없거나, 둘 이상의 객체가 존재할 경우에는 DoesNotExist 예외나 MultipleObjectsReturned 예외가 발생합니다.
반면에 objects.filter()는 QuerySet에서 조건을 만족하는 모든 객체들을 가져올 때 사용됩니다. 이 함수는 인자로 조건을 지정하여 해당 조건을 만족하는 모든 객체들을 포함하는 QuerySet을 반환합니다. 이 반환된 QuerySet은 다시 다른 메서드들과 함께 사용하여 조건을 만족하는 객체들을 필터링하거나, 정렬하거나, 페이징할 수 있습니다.
따라서 objects.get()과 objects.filter()는 각각 하나의 객체와 조건을 만족하는 모든 객체들을 가져오는 데 사용되는 함수로, 사용 목적에 따라 적절하게 선택하여 사용해야 합니다.