Джанго-Хейстек Фильтр по ФК

I'm trying to filter by FK but unable to. I want to filter records by author's name/username etc.

## Views.py

from drf_haystack.viewsets import HaystackViewSet

from .models import Note
from .serializers import NoteSerializer


class NoteSearchView(HaystackViewSet):
    index_models = [Note]
    serializer_class = NoteSerializer

## serializers.py

from drf_haystack.serializers import HaystackSerializer

from .search_indexes import NoteIndex


class NoteSerializer(HaystackSerializer):

    class Meta:
        index_classes = [NoteIndex]
        fields = [
            "text", "author", "pub_date"
        ]

## search_indexes.py

from haystack import indexes

from .models import Note


class NoteIndex(indexes.SearchIndex, indexes.Indexable):
    author = indexes.CharField(model_attr='user')
    pub_date = indexes.DateTimeField(model_attr='pub_date')
    text = indexes.CharField(document=True, use_template=True)

    def get_model(self):
        return Note

## note_text.txt

{{ object.title }}
{{ object.user.get_full_name }}
{{ object.body }}

## output

[
    {
        "text": null,
        "pub_date": "2017-12-19T22:33:00Z",
        "author": null
    },
    {
        "text": null,
        "pub_date": "2017-12-19T03:00:00Z",
        "author": null
    }
]

0 ответов

Другие вопросы по тегам