在Django中检查空查询集的正确方法是什么?

时间:2018-04-24 16:34:34

标签: django

queryset = demo.objects.filter(name="non_existent_name")

if queryset.exists():
    serializer = DemoSerializer(queryset, many=True)
    return Response(serializer.data)
else:
    return Response(status=status.HTTP_404_NOT_FOUND)

使用空的查询集 - 我期待404,但是使用空序列化响应得到200。我的代码出了什么问题?为什么exists()不能按预期工作?

1 个答案:

答案 0 :(得分:0)

尝试一下:

queryset = demo.objects.filter(name="non_existent_name")

if queryset:
    serializer = DemoSerializer(queryset, many=True)
    return Response(serializer.data)
else:
    return Response(status=status.HTTP_404_NOT_FOUND)