def METHOD_NAME(self, data):
    """
    Validate portable_to.
    Raise a ValidationError if portable_to contains current object playlist id
    or an unknown playlist id.
    """
    value: OrderedDict = super().METHOD_NAME(data)
    if "portable_to" in data.keys():
        reachable_from_playlist_ids = data.get("portable_to")
        if str(self.instance.id) in reachable_from_playlist_ids:
            raise serializers.ValidationError(
                {"portable_to": _("Playlist is not portable to itself.")}
            )
        try:
            existing_playlist_ids = {
                str(playlist_id)
                for playlist_id in Playlist.objects.filter(
                    id__in=reachable_from_playlist_ids
                ).values_list("id", flat=True)
            }
        except ValidationError as error:
            raise serializers.ValidationError(
                {"portable_to": ", ".join(error.messages)}
            ) from error
        ids_diff = set(reachable_from_playlist_ids) - existing_playlist_ids
        if ids_diff:
            raise serializers.ValidationError(
                {
                    "portable_to": _(
                        f"Some playlists don't exist: {', '.join(ids_diff):s}."
                    )
                }
            )
        value.update({"portable_to": reachable_from_playlist_ids})
    return value