Bonjour, j'essaie de développer un simple point de terminaison d'API REST en utilisant le framework de repos Django.J'ai essayé de vérifier des questions similaires mais cela n'a pas fonctionné.Je veux ma sortie au format (format JSON):

{
    {
        "id": 1,
        "status": "ONLINE"
    },
    {
        "id": 2,
        "status": "OFFLINE"
    }
}

Mais ma sortie est (Format de liste):

[
    {
        "id": 1,
        "status": "ONLINE"
    },
    {
        "id": 2,
        "status": "OFFLINE"
    }
]

Mes models.py:

class Device(models.Model):
    status = models.CharField(max_length=10, default="OFFLINE")

Mon serializer.py:

class DeviceSerializer(serializers.ModelSerializer):
    class Meta:
        model = Device
        fields = '__all__'

Et mon views.py:

def device_list(request):
    devices = Device.objects.all()
    serializer = DeviceSerializer(devices, many=True)
    return Response(serializer.data)
-1
mahmuuuut 15 sept. 2020 à 19:34

2 réponses

Meilleure réponse
def device_list(request):
    devices = Device.objects.all()
    serializer = DeviceSerializer(devices, many=True)
    return Response({"data":serializer.data})
0
Surya Pratap Rana 15 sept. 2020 à 16:46

La sortie souhaitée n'est pas json valide. {} est pour les dictionnaires, les cartes, etc ... et [] est pour les listes.

1
pbacterio 15 sept. 2020 à 16:57