TIL - 180810
8월 10일 TIL : 배민찬 카피 프로젝트, 패스트캠퍼스 보강
Django REST Framework Filtering
배민찬의 반찬들을 카테고리별로 가져오도록 하기 위해서 쿼리셋을 필터링 해야한다. Django REST Framework Filtering 문서를 보니 get_queryset() 메소드를 구현하면 쉽게 필터링을 할 수 있었다.
class ProductList(generics.ListAPIView):
serializer_class = ProductSimpleSerializer
def get_queryset(self):
queryset = Product.objects.all()
parent_category = get_object_or_404(
ParentCategory,
name=self.request.query_params.get('parent_category', None),
)
category = get_object_or_404(
Category,
parent_category=parent_category,
name=self.request.query_params.get('category', None),
)
if category is not None:
queryset = queryset.filter(category=category)
return queryset
기억해야 할 점은 2가지다.
- request는 self 인스턴스에 담겨 있다.
- ORM을 사용할 때 예외처리를 해야만 한다. 즉 ORM의 objects.get() 대신 get_object_or_404() 메소드를 사용하면 된다.
sentry
sentry 설치법을 배웠다. 문서대로 하면 되기 때문에 특별한 내용은 없었다. 그런데 EB, EC2 환경에서 오류가 나는 것 같아 찾아보니 현재 이슈로 등록되어 있었다. 이 링크를 보면서 경과를 지켜보자.