Получить экземпляр внешнего ключа - Django Rest Framework - PullRequest
0 голосов
/ 19 января 2020

Вот что у меня есть:

models.py

class Subject(models.Model):
    name = models.CharField(max_length=50)
    schedule1 = models.CharField(max_length=30, default="No Schedule")
    schedule2 = models.CharField(max_length=30, null="No Schedule")

    def __str__(self):
        return self.name

class Todo(models.Model):
    title = models.CharField(max_length=100)
    description = models.CharField(max_length=400)
    priority = models.CharField(choices=P_CHOICE, max_length=10)
    timestamp = models.DateTimeField(auto_now_add=True)
    completed = models.BooleanField(default=False)
    subject = models.ForeignKey(Subject, on_delete=models.CASCADE)

serializers.py

class SubjectSerializer(serializers.ModelSerializer):
    id = serializers.ReadOnlyField()
    class Meta:
        model = Subject
        fields = '__all__'

class TodoSerializer(serializers.ModelSerializer):
    id = serializers.ReadOnlyField()
    class Meta:
        model = Todo
        fields = '__all__'
* 1012 Проблема в том, что когда я делаю запрос todo от API, я хочу показать имя субъекта todo, но я получаю идентификатор. Должен ли я сделать еще один запрос, используя идентификатор субъекта, я вижу, что не очень производительность дружественная. Есть ли способ получить экземпляр Subject прямо из свойства todo.subject?
...