Ни один из ответов не показывает, как удалить только одну таблицу в приложении.Это не так уж сложно.Команда dbshell
регистрирует пользователя в оболочке sqlite3.
python manage.py dbshell
Когда вы находитесь в оболочке, введите следующую команду, чтобы увидеть структуру вашей базы данных.Это покажет вам все имена таблиц в базе данных (а также имена столбцов в таблицах).
SELECT * FROM sqlite_master WHERE type='table';
В общем случае Django именует таблицы в соответствии со следующим соглашением: "appname_modelname".Поэтому SQL-запрос, который выполняет вашу цель, будет выглядеть примерно так:
DROP TABLE appname_modelname;
Этого должно быть достаточно, даже если таблица имела отношения с другими таблицами.Теперь вы можете выйти из оболочки SQLITE, выполнив:
.exit
Если вы снова запустите syncdb, Django перестроит таблицу в соответствии с вашей моделью.Таким образом, вы можете обновить таблицы базы данных без потери всех данных приложения.Если вы часто сталкиваетесь с этой проблемой, рассмотрите возможность использования South - приложения django, которое перенесет ваши таблицы за вас.