Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/333.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 草垛';SearchQuerySet';对象没有属性';型号';_Python_Django_Django Rest Framework_Django Haystack - Fatal编程技术网

Python 草垛';SearchQuerySet';对象没有属性';型号';

Python 草垛';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

我正在尝试序列化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 = 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()?