Ninguna de las respuestas muestra cómo eliminar solo una tabla en una aplicación. No es muy difícil. El comando dbshell
registra al usuario en el shell sqlite3.
python manage.py dbshell
Cuando se encuentra en la cáscara, escriba el siguiente comando para ver la estructura de su base de datos. Esto le mostrará todos los nombres de las tablas en la base de datos (y también los nombres de las columnas dentro de las tablas).
SELECT * FROM sqlite_master WHERE type='table';
En general, Django nombra las tablas de acuerdo con la siguiente convención: "appname_modelname". Por lo tanto, la consulta SQL que logra su objetivo será similar a la siguiente:
DROP TABLE appname_modelname;
Esto debería ser suficiente, incluso si la mesa tenía relaciones con otras tablas. Ahora se puede cerrar la sesión de la cáscara SQLITE ejecutando:
.exit
Si ejecuta syncdb nuevo, Django reconstruir la tabla de acuerdo a su modelo. De esta manera, puede actualizar sus tablas de base de datos sin perder todos los datos de la aplicación. Si te encuentras con este problema mucho, considera usar South: una aplicación django que migrará tus tablas por ti.
Esto es por diseño. Sincronizar los cambios y las caídas abriría una lata gigante de gusanos. George tiene la respuesta correcta para ti. – Alex
Ofri tiene la mejor respuesta –