Django 如果QuerySet为空,则返回字符串
在下面的代码中,如果queryset是空的,我想返回一个字符串,其中JSON响应中出现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 =
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并相应地修改响应