В ходе разработки своего проектика на стадии реализации моделей и сериализаторов столкнулся со следующей проблемой:
В классе моделей я имею класс категорий, а также связанные с ней по вторичному ключу класс телефон и ноутбук.
Затем создаю для этих моделей сериализаторы:
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 передавались сериализаторы ноутбуков и телефонов?