@rjunovskii

Django Rest Framework и несколько вложенных списков, как реализовать?

В ходе разработки своего проектика на стадии реализации моделей и сериализаторов столкнулся со следующей проблемой:

В классе моделей я имею класс категорий, а также связанные с ней по вторичному ключу класс телефон и ноутбук.
Затем создаю для этих моделей сериализаторы:

from rest_framework import serializers

from .models import Category, ProductNotebook, ProductTelephone, Product

class ProductNotebookSerializer(serializers.ModelSerializer):
    class Meta:
        model = ProductNotebook
        fields=(
            'id',
            'name',
            'get_absolute_url',
            'description',
            'price',
            'get_image',
            'get_thumbnail'
        )
    
# в будущем отрефакторить
class ProductTelephoneSerializer(serializers.ModelSerializer):
    class Meta:
        model = ProductTelephone
        fields=(
            'id',
            'name',
            'get_absolute_url',
            'description',
            'price',
            'get_image',
            'get_thumbnail'
        )

class CategorySerializer(serializers.ModelSerializer):
    products = ProductNotebookSerializer(many=True), 

    class Meta:
        model = Category
        fields=(
            'id',
            'name',
            'get_absolute_url',
            'products'
        )


Но вот незадача: поскольку у меня несколько моделей для товаров, я не понимаю, как создать несколько вложенных списков для сериализатора категории? Я понимаю, как создать вложенный список для одной модели, как например сделал я, добавив вложенный список ноутбуков, но вот как сделать вложенные списки и для ноутбуков, и для телефонов, т.е. так, чтобы в products передавались сериализаторы ноутбуков и телефонов?
  • Вопрос задан
  • 306 просмотров
Пригласить эксперта
Ваш ответ на вопрос

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

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