Si no le importan los datos:
La mejor manera sería eliminar la base de datos y ejecutarla syncdb
nuevamente. O puedes ejecutar:
Para Django> = 1.5
python manage.py flush
Para Django <1.5
python manage.py reset appname
(puede agregar --no-input
al final del comando para que se salte el indicador interactivo).
Si te preocupan los datos:
De los documentos:
syncdb solo creará tablas para modelos que aún no se hayan instalado. Nunca emitirá declaraciones ALTER TABLE para que coincida con los cambios realizados en una clase de modelo después de la instalación. Los cambios en las clases de modelo y los esquemas de la base de datos a menudo implican alguna forma de ambigüedad y, en esos casos, Django tendría que adivinar los cambios correctos para realizar. Existe el riesgo de que se pierdan datos críticos en el proceso.
Si ha realizado cambios en un modelo y desea modificar las tablas de la base de datos para que coincidan, use el comando sql para mostrar la nueva estructura SQL y compárela con su esquema de tabla existente para resolver los cambios.
https://docs.djangoproject.com/en/dev/ref/django-admin/
Referencia: Preguntas frecuentes: https://docs.djangoproject.com/en/dev/faq/models/#if-i-make-changes-to-a-model-how-do-i-update-the-database
La gente también recomienda South ( http://south.aeracode.org/docs/about.html#key-features ), pero no lo he probado.