@mrkovalchuk
Junior developer

Каков порядок работы методов при использовании сериализатора, внутри сериализатора Django rest framework?

Добра.

Есть следующая ситуация:
class Serializer1(ModelSerializer):
    class Meta:
        model = model1
        fields = '__all__'

class Serializer2(ModelSerializer):
    field = Serializer1(many=True, required=False)
    class Meta:
        model = model2
        fields = '__all__'


Я представляю ситуацию так:
  1. Приходят какие-то данные на вьюху с данным сериалазитором (Serializer2);
  2. Начало инициализации объекта Serializer2;
  3. Создается объект Serializer1;
  4. Вызывает метод validate (или что-то типа этого) Serializer1
  5. Вызывается метод to_representation класса Serializer1
  6. Результат to_representation идет в field Serializer2
  7. Создается Serializer2 (create методом) и вызывается метод to_representation


Все верно? Если да, то я не понимаю, почему не работает. В плане: я переопределяю метод to_representation у Serializer1, но в поле field Serializer2 падает всё равно результат стандартной отработки to_representation (или какого-то другого месяца).

Если не верно, то, пожалуйста, расскажите, как в данному случае работают методы.

Спасибо.

P.S. Все названия классов\полей\переменных изменены.
  • Вопрос задан
  • 687 просмотров
Пригласить эксперта
Ответы на вопрос 1
Guest007
@Guest007
Django, Python, Linux и всё такое...
to_representation у Serializer2 переопределять для этого не надо. Вывод и так должен работать. А update для nested надо переопрелять.
Ответ написан
Ваш ответ на вопрос

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

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