Python 草垛';SearchQuerySet';对象没有属性';型号';
我正在尝试序列化haystack结果 api.pyPython 草垛';SearchQuerySet';对象没有属性';型号';,python,django,django-rest-framework,django-haystack,Python,Django,Django Rest Framework,Django Haystack,我正在尝试序列化haystack结果 api.py class PinSearchViewSet(viewsets.ReadOnlyModelViewSet): http_method_names = ['get'] queryset = Pin.objects.all() serializer_class = PinSearchSerializer def get_queryset(self, *args, **kwargs): request
class PinSearchViewSet(viewsets.ReadOnlyModelViewSet):
http_method_names = ['get']
queryset = Pin.objects.all()
serializer_class = PinSearchSerializer
def get_queryset(self, *args, **kwargs):
request = self.request
queryset = EmptySearchQuerySet()
if request.GET.get('q') is not None:
query = request.GET.get('q')
queryset = SearchQuerySet().filter(content=query)
return queryset
class PinSearchSerializer(serializers.ModelSerializer):
class Meta:
model = Pin
fields = ('id', 'office_name', 'pin_code', 'office_type', 'delivery_status',
'division_name', 'region_name', 'circle_name', 'taluk', 'district', 'state')
序列化程序.py
class PinSearchViewSet(viewsets.ReadOnlyModelViewSet):
http_method_names = ['get']
queryset = Pin.objects.all()
serializer_class = PinSearchSerializer
def get_queryset(self, *args, **kwargs):
request = self.request
queryset = EmptySearchQuerySet()
if request.GET.get('q') is not None:
query = request.GET.get('q')
queryset = SearchQuerySet().filter(content=query)
return queryset
class PinSearchSerializer(serializers.ModelSerializer):
class Meta:
model = Pin
fields = ('id', 'office_name', 'pin_code', 'office_type', 'delivery_status',
'division_name', 'region_name', 'circle_name', 'taluk', 'district', 'state')
但是我犯了以下错误
“SearchQuerySet”对象没有属性“model”
序列化程序需要pin对象,但您返回的是SearchResut对象 试试这个
class PinSearchViewSet(viewsets.ReadOnlyModelViewSet):
http_method_names = ['get']
queryset = Pin.objects.all()
serializer_class = PinSearchSerializer
def get_queryset(self, *args, **kwargs):
request = self.request
queryset = EmptySearchQuerySet()
if request.GET.get('q') is not None:
query = request.GET.get('q')
queryset = SearchQuerySet().filter(content=query).models(Pin)
return [i.object for i in queryset]
我还在searchQuerySet中指定了pin型号,但我不能确切确定您指定的错误。可能您尝试了SearchQuerySet().model()?