Django tiene muchos comandos de administración. Además, podemos escribir nuestros propios comandos.
¿Qué sucede después de realizar una llamada de shell a python manage.py XXX ? ¿Se ejecutará el código en un proceso que se inició desde el shell? ¿O el proceso de shell simplemente se comunica con el proceso principal de Django que ejecuta el comando?
El shell inicia un nuevo proceso para ejecutar el intérprete de Python. El intérprete de Python lee manage.py y lo ejecuta directamente. No existe tal cosa como "el proceso principal de Django".