Я хочу получить данные колледжа, используя внешний ключ general_info. без создания вложенного сериализатора College_set в сериализаторе GeneralInfo. Есть ли альтернатива в django rest framework или это невозможно? Я попытался выше строки кода ниже, но это не работает. есть ли другой способ?
college = serializers.CharField(source='general_info.college_set', read_only=True)
models.py
from django.db import models
class GeneralInfo(models.Model):
first_name = models.CharField(max_length=30)
last_name = models.CharField(max_length=30)
address = models.CharField(max_length=30)
class Student(models.Model):
general_info = models.ForeignKey(to=GeneralInfo, on_delete=models.PROTECT)
course = models.CharField(max_length=30)
marks = models.CharField(max_length=30)
class College(models.Model):
general_info = models.OneToOneField(to=GeneralInfo, on_delete=models.PROTECT)
name = models.CharField(max_length=30)
address = models.CharField(max_length=30)
picture = models.ImageField(null=True, blank=True, upload_to='users/')
serializer.py
from rest_framework import serializers
class MySerializer(serializers.ModelSerializer):
name = serializers.CharField(source='general_info.first_name', read_only=True)
college = serializers.CharField(source='general_info.college_set', read_only=True)
class Meta:
model = Student
fields = ('name', 'college')