Django休息视图检索链式对象

时间:2017-12-29 12:53:24

标签: django django-rest-framework django-views

我的模特有以下关系:“用户”可以有一个“心愿单”,“心愿单”会有很多“书籍”。

我想检索特定用户心愿单中的所有图书。我写的观点如下:

# Get specific user's wishlist
@api_view(['GET', 'POST', 'PUT', 'DELETE'])
def wishlist(request):
    """
    List all the boosk in wishlist of a specific user
    """
    if request.method == 'GET':
        books = Wishlist.objects.filter(request.user)
        serializer = BookSerializer(books, many=True)
        return Response(serializer.data)

如何在滤镜中编写逻辑?或者是否有更好的方法(例如,不要将书籍序列化而不是愿望清单)?

1 个答案:

答案 0 :(得分:3)

你应该查询书籍,而不是愿望清单:

books = Book.objects.filter(wishlist__user=request.user)