class ASerializer(serializers.ModelSerializer): user = UserDetailsSerializer(read_only=True) target = TargetObjectRelatedField(read_only=True)
Далее так: class TargetObjectRelatedField(serializers.RelatedField): """ A custom field to use for the `target_object` generic relationship. """ def to_representation(self, value): """ Serialize Model1 instances using a Model1 serializer, and note Model2 using a Model2 serializer. """ if isinstance(value, Model1): serializer = Model1Serializer(value) elif isinstance(value, Model2): serializer = Model2Serializer(value) else: raise Exception('Unexpected type of target object') return serializer.data
это если у тебя GFK и тебе нужно сериализовать связанный объект, но ты не знаешь какой именно
Обсуждают сегодня