【发布时间】:2022-01-25 15:27:34
【问题描述】:
我有一个非常简单的 DRF ListApiView,它使用 filters.SearchFilter 作为 filter_backend。
但问题是,如果在查询集上没有找到数据,它会返回一个空列表。
我的代码:
serializers.py
class PhoneSerializer(serializers.ModelSerializer):
brand_name = serializers.CharField(source='brand')
class Meta:
model = models.Phone
fields = '__all__'
views.py
class PhoneApiView(generics.ListAPIView):
filter_backends = [filters.SearchFilter]
serializer_class = serializers.PhoneSerializer
queryset = models.Phone.objects.all()
search_fields = ['model_name', 'jan_code']
成功搜索的结果
[
{
"id": 6,
"brand_name": "Oppo",
"model_name": "Oppo Reno 5",
"image": "http://127.0.0.1:8000/media/phone/reno-5-black-2.jpg",
"colors": "Red, Blue",
"jan_code": "785621716768184",
"brand": 6
}
]
如果没有找到预期的结果(当前返回一个空列表[])
{
"response": 'No Data Found'
}
现在,我该怎么做? 谢谢
【问题讨论】:
标签: python django django-rest-framework django-filter