@9550668

Как изменить Serializer для корректировки выдачи поиска?

Всем здравствуйте в очередной раз.

Есть следующий код:
class BasicListAPIView(generics.ListAPIView, CustomMixin):
    serializer_class = BasicSerializer

    permission_classes = [IsAuthenticated]

    def get_queryset(self, *args, **kwargs):
        '''Search'''
        qs = List.objects.all()
        query_name = self.request.GET.get("name")

        if query_name is not None:
            qs = qs.filter(name__icontains=query_name).distinct()

        return qs


class BasicSerializer(serializers.ModelSerializer):
    class Meta:
        model = List
        fields = [
            'id',
            'name',
            'creator',
            'type',
            'description',
            'start_date',
            'end_date',
            'created_date',
            'is_active',
            'is_finished',
            'is_public',
        ]
        #read_only_fields = []


Мне надо при выдачи в формате JSON отредактировать информацию в переменной 'creator', получаемой из field'а модели List.

Можете подсказать, какой метод в сериалайзере надо переписать и как?
Заранее спасибо.
  • Вопрос задан
  • 220 просмотров
Решения вопроса 1
@django-developer
Есть вот такой метод для конкретного поля: https://www.django-rest-framework.org/api-guide/fi...

Попробуй так:
creator = serializers.SerializerMethodField()

И сам метод в сериалайзере:
def get_creator(self, obj):
        return {"creator": "отредактированная информация в переменной 'creator'"}
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы