Как получить доступ к данным из другой модели, используя тот же внешний ключ? - PullRequest
0 голосов
/ 21 мая 2019

Я хочу получить данные колледжа, используя внешний ключ 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')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...