这是来自Django-Haystack自定义查询集的另一个问题。
如何创建使用Django-Haystack的自定义查询集属性作为查询集的Django Rest框架列表视图(或任何视图)?
区别在于常规queryset属性包含常规对象的情况,Django-Haystack的自定义查询集包含一个带有'object'属性的字典,该属性返回该对象。
Queryset:
[<ModelInstance_1>, <ModelInstance_2>]
SearchQuerySet
[{object: <ModelInstance_1>}, {object: <ModelInstance_2>}]
我在发帖前搜索过,发现了几个答案,但他们使用的是过时的版本,其工作方式与现在的工作方式完全不同。
我目前正在使用这样的东西:
class SearchProjectsView(generics.ListAPIView):
serializer_class = ArchiveProjectSerializer
model = Project
def get_queryset(self):
queryset = []
for result in SearchQuerySet().models(Project).filter(content=Clean(self.request.QUERY_PARAMS.get('q', ''))):
queryset.append(result.object)
return queryset
但是一旦我用分页或任何其他小问题延长这个问题就会成为一个问题......