Django: Как полностью удалить приложение Django?

Какова процедура того, чтобы полностью удалить приложение Django, вместе с удалением базы данных?

97
задан zer0stimulus 25 July 2010 в 15:34
поделиться

2 ответа

  1. В Django < 1.7 есть удобная команда управления, которая даст вам необходимый SQL для удаления всех таблиц приложения. Смотрите sqlclear docs для получения дополнительной информации. По сути, выполнив ./manage.py sqlclear my_app_name, вы получите SQL-запросы, которые необходимо выполнить, чтобы избавиться от всех следов приложения в вашей БД. Вам все еще нужно скопировать и вставить (или передать) эти операторы в ваш SQL клиент. Для Django 1.7 и выше используйте ./manage.py migrate my_app_name zero (см. migrate docs), который запускает очистку базы данных автоматически.

  2. Чтобы удалить приложение из вашего проекта, достаточно удалить его из INSTALLED_APPS в settings.py вашего проекта. Django больше не будет загружать это приложение.

  3. Если вам больше не нужны файлы приложения, удалите каталог app из каталога проекта или другого места в вашем PYTHONPATH, где оно находится.

  4. (необязательно) Если приложение сохраняло медиафайлы, файлы кэша или другие временные файлы, вы можете удалить и их. Также опасайтесь остатков данных сеанса, которые могут остаться от приложения.

  5. (необязательно) Я бы также удалил все устаревшие типы контента.

Например.

from django.contrib.contenttypes.models import ContentType
for c in ContentType.objects.all():
    if not c.model_class():
        print "deleting %s"%c
        c.delete()
139
ответ дан 24 November 2019 в 05:27
поделиться

django app - это "набор" *.py файлов и каталог с именем django-app-name. Поэтому вы можете просто удалить всю папку со всеми *.py файлами

Для "удаления" таблиц из DB вы должны использовать DELETE FROM

Кроме того, вы должны удалить строки с именем app-name из set.py в корневом каталоге

2
ответ дан 24 November 2019 в 05:27
поделиться
Другие вопросы по тегам:

Похожие вопросы: