Django Polymorphic Serializer Объект типа ListSerializer не является JSON сериализуемым
Я работаю над представлением на django, которое должно возвращать вложенный список внутри другого списка записей, для этого я использую вложенный сериализатор. Дело в том, что вложенный сериализатор - это полиморфный сериализатор, который разлагается на множество других сериализаторов.
Когда я использую обычный сериализатор вместо полиморфного, подход работает нормально, но когда я использую полиморфный сериализатор, он выдает следующую ошибку
Object of type ListSerializer is not JSON serializable
Вот как я вызываю первый сериализатор в моем представлении
return Response(serializers.FormEntriesHistorySerializer(forms,many=True,context={'device_id': kwargs.get('device_id')}).data)
А это родительский сериализатор
class FormEntrySerializer(serializers.ModelSerializer):
#form = FormSerializer(read_only=True)
response_set = ResponsePolymorphicSerializer(many=True,read_only=True)
class Meta:
model = models.FormEntry
fields = '__all__'
def to_representation(self, instance):
response = super().to_representation(instance)
response["response_set"] = sorted(response["response_set"], key=lambda x: x["id"],reverse=True)
return response
def validate(self, attrs):
print("Validation in on going")
return attrs
Ошибка вызвана ResponsePolymorphicSerializer, как я уже сказал, этот подход работает нормально, если я использую обычный сериализатор. Но в этом случае мне нужно сделать это с помощью полиморфного.
Здесь приведено определение моего полиморфного сериализатора
class ResponsePolymorphicSerializer(PolymorphicSerializer):
model_serializer_mapping = {
models.FreeTextResponse: FreeTextResponseSerializer,
models.ShortTextResponse: ShortTextResponseSerializer,
Я был бы рад получить рекомендации по этому вопросу. Спасибо.