В моем Django API есть модель с внешним ключом для родителя, который ссылается на себя. Я сериализовал данные и вернул их в виде набора. Он возвращает объект, в котором родительское поле показывает родительский идентификатор как int. Тем не менее, я пытаюсь заставить его отображать фактические значения родительского элемента (имя и категория), чтобы затем можно было отобразить соответствующие данные в моем приложении внешнего интерфейса React. Я перечислил мою модель, сериализатор и набор представлений ниже вместе с возвращаемым объектом, который показывает родителя, а также ребенка с родительским идентификатором в родительском поле. Может кто-нибудь помочь, пожалуйста?
class ComponentModel(models.Model):
name = models.CharField(max_length=50, blank=False)
wattage = models.PositiveIntegerField(blank=True, null=True)
category = models.CharField(max_length=13, choices=CATEGORY_CHOICES, blank=False)
parent = models.ForeignKey(
'self',
blank=True,
null=True,
on_delete=models.CASCADE
)
class ComponentSerializer(serializers.ModelSerializer):
class Meta:
model = ComponentModel
fields = ('id', 'name', 'wattage', 'category', 'parent')
class ComponentViewSet(viewsets.ModelViewSet):
queryset = ComponentModel.objects.all()
serializer_class = ComponentSerializer
[
{
"id": 1,
"name": "AMD",
"wattage": null,
"category": "cpu",
"parent": null
},
{
"id": 5,
"name": "760K",
"wattage": 100,
"category": "cpu",
"parent": 1
}
]