Django Serializer сериализует только объекты с many=True

Я пытаюсь сделать сериализатор

class StoreSerializer(serializers.ModelSerializer):
    class Meta:
        model = Store
        fields = '__all__'

и в наборе представлений,

def list(self, request, *args, **kwargs):
    obj = Store.objects.first()
    ser = StoreSerializer(data=obj)
    if ser.is_valid():
        pass
    print(ser.data)
    return Response(ser.data)

этот метод возвращает в качестве ответа просто пустой dict {}. При определении сериализатора как

ser = StoreSerializer(data=[obj], many=True)

объект сериализуется. Что я делаю неправильно?

Когда вы передаете данные модели в ModelSerializer, вам не нужно вызывать функцию

serializer.is_valid()

Так что вы можете просто передать данные без ключа data как

ser = StoreSerializer(obj)
print(ser.data)
Вернуться на верх