¿Cuál es la diferencia entre un OneToOne, ManyToMany y un campo ForeignKey en Django?

Tengo un poco de dificultad para entender las relaciones en los modelos de Django.

¿Alguien podría explicar cuál es la diferencia entre OneToOne, ManyToMany y ForeignKey?