我的ViewSet
实现了两种方法:list()
和get_queryset()
。
queryset
对模型的所有对象进行操作。它用于过滤数据,而无需使用 DjangoFilterBackend 。
我有兴趣在返回特定数量的记录时在响应中添加一个额外的字段,例如:
if len(queryset) > 1:
resp = {"message": "Narrow down filter criteria."}
elif len(queryset) == 0:
resp = {"message": "No results found."}
else:
resp = {"message": "OK"}
运行代码时,分别以以下顺序出现在list()
和get_queryset()
中的打印件:
'list()' checking in...
'get_queryset() checking in...
似乎list()
方法中应用的所有更改都被get_queryset()
覆盖。否则,this answer会有所帮助。
是否还有其他方法可以返回由附加数据丰富的查询集(在这种情况下为resp
)?