Сериализаторы для связанных моделей. Задание 1

Настройте API для Yatube так, чтобы при запросе постов возвращалась информация о группе, в которой опубликован пост. Данные о группе должны возвращаться в виде значения её поля slug.

Добавьте возможность при создании или изменении поста через API опционально указывать группу, передавая в теле запроса поле slug.

Подсказка:

Чтобы получить значение slug из объекта поста, при переопределении поля group в сериализаторе назначьте ему тип SlugRelatedField. Подробности о работе с полями типа SlugRelatedField описаны в шпаргалке.

При переопределении поля group в сериализаторе, укажите для него параметр queryset.

Чтобы сделать поле сериализатора необязательным — укажите для него параметр required=False.

Код serializers.py:

from rest_framework import serializers

from .models import Post, Group


class PostSerializer(serializers.ModelSerializer):
    group = serializers.SlugRelatedField(
        #read_only = False,
        slug_field = 'slug',
        required = False,
        queryset = Group.objects.all()  
        )

    class Meta:
        fields = ('id', 'text', 'author', 'image', 'pub_date', 'group')
        model = Post




Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: