Как сериализовать отношения внешнего ключа в виде пары ключ-значение django rest framework

Я пытаюсь сериализовать отношения в DRF, в то время как я пытаюсь получить следующий вывод:

"statistics":[
   "Attacks":{
      "id":971,
      "home_value":3,
      "away_value":2,
      "value":5
   },
   "Corners":{
      "id":972,
      "home_value":0,
      "away_value":0,
      "value":0
   }
]

Я написал следующий код для моего сериализатора этой модели:

class StatisticSerializer(serializers.ModelSerializer):
    class Meta: 
        model = Statistic
        fields = ['id', 'home_value', 'away_value', 'name', 'value']

    def to_representation(self, instance: Statistic):
        representation = {instance.name: {
            "id": instance.id, 
            "home_value": instance.home_value,
            "away_value": instance.away_value, 
            "value": instance.value
        }}

        return representation

Что дает мне следующий результат:

"statistics":[
   {
      "Attacks":{
         "id":971,
         "home_value":3,
         "away_value":2,
         "value":5
      }
   },
   {
      "Corners":{
         "id":972,
         "home_value":0,
         "away_value":0,
         "value":0
      }
   }
]

Есть ли способ получить это, как показано в первом примере, используя django rest framework?

Вернуться на верх