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)