Confusão Unicode vs UTF-8 em Python / Django?

Eu tropecei nessa passagem noTutorial do Django:

Os modelos do Django têm um padrãostr() método que chamaunicode() e converte o resultado em uma bytestring UTF-8. Isso significa que unicode (p) retornará uma string Unicode e str (p) retornará uma string normal, com caracteres codificados como UTF-8.

Agora, estou confuso porque afaik Unicode não é uma representação específica, então o que é uma "string Unicode" em Python? Isso significa UCS-2? Pesquisando no Googleeste "Tutorial Unicode do Python" que afirma corajosamente

Unicode é uma codificação de dois bytes que abrange todos os sistemas de escrita comuns do mundo.

o que é claramente errado, ou é? Muitas vezes fiquei confuso com problemas de conjunto de caracteres e codificação, mas aqui tenho certeza de que a documentação que estou lendo está confusa. Alguém sabe o que está acontecendo no Python quando ele me fornece uma "string Unicode"?

questionAnswers(5)

yourAnswerToTheQuestion