Требуется помощь 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'
]