Требуется помощь Django Rest Framework Serializer

Я новичок в Django Rest Framework. Я пытаюсь получить объект navSidebarMaps для сериализации следующим образом:

[
   "navSidebarName": "mainSidebar",
   [
        {
        "id": 1,
        "name": "item1",
        "order": 1,
        },
        {
        "id": 2,
        "name": "item2",
        "order": 2,
        }
    ]
]

Какой рекомендуемый подход для передачи списка navSidebarItems в navSidebarMaps? Аргумент related_name, кажется, частично привел меня к цели. Однако я что-то упустил.

Модели:

class navSidebars(models.Model):
    name = models.CharField(max_length=50, blank=False, null=False)
    description = models.CharField(max_length=150, blank=False, null=False)

class navSidebarItems(models.Model):
    name = models.CharField(max_length=50, blank=False, null=False)
    description = models.CharField(max_length=150, blank=False, null=False)

class navSidebarMaps(models.Model):
    fk_navsidebar = models.ForeignKey('core.navSidebars', related_name='sidebars', on_delete=models.CASCADE)
    fk_navsidebar_items = models.ForeignKey('core.navSidebarItems', related_name='sidebar_items', on_delete=models.CASCADE)
    order = models.IntegerField(default=0, blank=False, null=False)

Сериализаторы:

class navSidebarSerializer(serializers.ModelSerializer):
    created_by = serializers.ReadOnlyField(source='created_by.username')
    modified_by = serializers.ReadOnlyField(source='modified_by.username')
    
    class Meta:
        model = navSidebars
        fields = [
                'id', 
                'name',
                'description',
                'active',
                'visible',
                'enabled',
                'can_delete',
                'fk_navsidebar',
                'created_by',
                'created_when',
                'modified_by',
                'modified_when'
                ]
        

class navSidebarItemsSerializer(serializers.ModelSerializer):
    created_by = serializers.ReadOnlyField(source='created_by.username')
    modified_by = serializers.ReadOnlyField(source='modified_by.username')
    
    class Meta:
        model = navSidebarItems
        fields = [
                'id', 
                'name',
                'description',
                'position',
                'active',
                'visible',
                'enabled',
                'can_delete',
                'created_by',
                'created_when',
                'modified_by',
                'modified_when'
                ]
        
class navSidebarMapsSerializer(serializers.ModelSerializer):
    created_by = serializers.ReadOnlyField(source='created_by.username')
    modified_by = serializers.ReadOnlyField(source='modified_by.username')
    
    class Meta:
        model = navSidebarMaps
        fields = [
                'id', 
                'fk_navsidebar',
                'fk_navsidebar_items',
                'created_by',
                'created_when',
                'modified_by',
                'modified_when'
                ]
        
Вернуться на верх