google_online
@google_online
My morning begins with coffee and Twitter.

Как отобразить к какому level'у относится вопрос?

Я использую DRF. У меня есть две модели. Level and Question. Когда я делаю GET запрос к 'localhost:8000/api/questions/' я получаю "level: (тут отображается id, но хотелось бы получать название level'a).
Вот:
{
    "en": "she is a girl",
    "ru": "она девочка",
    "level": 1
  },
  {
    "en": "hi friend",
    "ru": "привет друг",
    "level": 2
  },


models.py
from django.db import models

class Level(models.Model):

    level = models.CharField(max_length=50, unique=True)
    slug = models.SlugField(max_length=50, unique=True)

    def __str__(self):
        return self.level

class Question(models.Model):

    en = models.CharField(max_length=255)
    ru = models.CharField(max_length=255)
    btn = models.TextField()
    level = models.ForeignKey(Level, related_name='question', on_delete=models.CASCADE)

    def __str__(self):
        return self.en


serializers.py
from . models import Level, Question
from rest_framework import serializers

class LevelSerializer(serializers.ModelSerializer):

    question = serializers.StringRelatedField(many=True)

    class Meta:

        model = Level
        fields = ('level', 'question',)

class QuestionSerializer(serializers.ModelSerializer):

    class Meta:

        model = Question
        fields = ('en', 'ru', 'level')


Как я могу получить названия моих левелов в GET запросе вместо их id ? Тоесть чтоб было примерно вот так:
{
    "en": "she is a girl",
    "ru": "она девочка",
    "level": "number one"
  },
  {
    "en": "hi friend",
    "ru": "привет друг",
    "level": "number two"
  },
  • Вопрос задан
  • 53 просмотра
Пригласить эксперта
Ответы на вопрос 1
@deliro
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы