[drf | filtering] Build a Backend REST API - 50

Hyeseong·2021년 3월 8일
0

Implement feature for filtering tags and ingredients🌙

여기서 말하는 assigned는 ingredients, tags가 recipe의 필드인 ingredients와 tags에 할당되어 다대다 관계형성을 이루었는지 아닌지를 판단하게 되요.

views.py♨

커스텀 클래스인 BaseRecipeAttrViewSet 클래스의 메서드인 get_queryset을 좀 뜯어 고쳐볼게요.

assigned_only 변수를 만들고요. query_params속성을 이용해서 get()메서드를 활용해 'assigned_only'키의 값을 불러올거에요. 0이면 False 1이면 True로 값을 잡아주기 위해서 bool메서드를 밖에다가 감싸주게 했습니다.

어쨋든 24번째줄에서 django ORM lookup field를 이용해서 recipe필드에서 isnull을 이용해서 recipe가 null인 경우 쿼리셋을 조회할지 말지 정하게 되요.

만약 assigned_only가 False인 경우 user_id를 받아서 ingredients,tags등 이름 역순으로 출력되게 되요.

Browsable API 🛹

tags객체들이 나열되어 있어요.

assigned_only=1🛁

id=3, breakfast이름을 가진 tag가 보이지 않조? 바로 recipe객체에 할당 되지 않았기에 조회되지 않는 조건이에요.

profile
어제보다 오늘 그리고 오늘 보다 내일...

0개의 댓글