Django 如果QuerySet为空,则返回字符串

Django 如果QuerySet为空,则返回字符串,django,django-rest-framework,django-queryset,Django,Django Rest Framework,Django Queryset,在下面的代码中,如果queryset是空的,我想返回一个字符串,其中JSON响应中出现results字段 按原样,我得到一个错误,说“Response”类型的对象没有len()。有人知道如何在这个实例中返回字符串吗 谢谢大家! class ProductListAPIView(CacheMixin, DefaultsMixin, FiltersMixin, generics.ListAPIView): serializer_class =

在下面的代码中,如果queryset是空的,我想返回一个字符串,其中JSON响应中出现
results
字段

按原样,我得到一个错误,说“Response”类型的
对象没有len()
。有人知道如何在这个实例中返回字符串吗

谢谢大家!

class ProductListAPIView(CacheMixin, DefaultsMixin, FiltersMixin,
                         generics.ListAPIView):
    serializer_class = ProductSerializer
    search_fields = ('title', 'owner',)
    ordering_fields = ('created', 'modified', 'list_date_start',)

    def get_queryset(self):
        products = (Product.objects.select_related('owner')
                                   .prefetch_related('buyers'))
        for product in products:
            listuse_status_check.send(sender=product)
        queryset = products.filter(is_listed=True)
        if queryset:
            return queryset
        return RestResponse({'results': 'some string here.'})
get\u queryset()
需要返回一个实际的queryset,因此命名

您可能需要重写
list()
方法,如中所述,以便它检查从该方法返回的queryset并相应地修改响应