2016-04-20 2 views
1

Je suis en train de sérialisation résultat botte de foin,Haystack - objet 'SearchQuerySet' n'a pas d'attribut 'modèle'

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 

serializer.py

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') 

mais j'ai l'erreur suivante,

objet 'SearchQuerySet' n'a pas d'attribut 'modèle'

Répondre

1

Les objets sérialiseur attendent broches mais vous retournez objets SearchResut

Essayez cette

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] 

J'ai aussi spécifié broche modèle dans le searchQuerySet

+0

Mais je ne suis pas vraiment sûr de l'erreur que vous avez spécifiée. Peut-être avez-vous essayé SearchQuerySet(). Model()? – Anoop