Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

131
Visualizações
Uso de vistas para cambiar la respuesta DRF

Me gustaría modificar la respuesta de una API.

Sin embargo, no altera el resultado adecuadamente. Obtengo un KeyError: 'game' .

No estoy seguro de por qué, ya que mi respuesta de API (a través de URL) parece tener el valor del game . Puede que me esté confundiendo con la respuesta JSON y el objeto python.

Tengo una muestra de la respuesta de la API a continuación

resultados de la API

 { "pk": 995, "game": [ { "name": "Finance", "gamelevel": 3 }, { "name": "Data", "gamelevel": 1 } ] },

vistas.py

 class TagList(viewsets.ModelViewSet): queryset = Task.objects.filter(game__isnull=False).all() serializer_class = TagSortSerializer def get_queryset(self): test = self.queryset.values('title', 'game__name') result = defaultdict(set) for item in queryset: parent = {'name': 'NoLevel_1'} children = [] for game in item['game']: if game['gamelevel'] == 1: parent = game else: children.append((game['gamelevel'], game['name'])) result[parent['name']].update(children) result = [ { 'name': parent, 'game_child': [ {'name': name, 'gamelevel': gamelevel} for gamelevel, name in games ], 'gamelevel': 1, } for parent, games in result.items() ] return result
over 4 years ago · Santiago Trujillo
1 Respostas
Responde à pergunta

0

Está utilizando el método de conjunto de consultas de values para obtener solo una selección de campos del modelo, y los únicos campos que ha especificado son title y tag__name . Por lo tanto, no obtendrá game ni ninguna de las otras claves que ha utilizado.

Ciertamente no querrás usar values aquí en primer lugar; simplemente haga una consulta normal y acceda a los campos a través de una búsqueda de puntos en lugar de un diccionario.

over 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda