2012-07-08 21 views

risposta

27

è necessario rimuovere o controllare quanto segue:

  • rimuovere l'applicazione da INSTALLED_APPS.
  • Rimuovere qualsiasi tabella di database per i modelli nell'app (vedere app_name_model_name nel database).
  • Controllare eventuali importazioni in altre app (potrebbe essere che stanno importando il codice da tale app).
  • Controlla i modelli se stanno utilizzando tag di modello di quell'app (che genererebbero errori se quell'app non è più lì).
  • Controllare il file delle impostazioni per vedere se non si sta utilizzando alcun codice da tale app (come un processore di contesto in your_app/context_processors.py, se ha un file come).
  • Verificare se il contenuto statico dell'app è utilizzato in altre app.
  • Rimuovere completamente la directory dell'app.

Quando si seguono i principi di codifica appropriati (ad esempio, ogni app Django è una parte autonoma dell'applicazione Web), la maggior parte delle situazioni sopra descritte non si verificherà. Tuttavia, quando altre app utilizzano alcune parti di tale app, è necessario verificarla, poiché potrebbe richiedere un refactoring prima di eliminare l'app.

+1

Ciao Simeone, grazie per la lista di controllo! :-) –

+5

Cosa c'è in django_contet_type, auth_permission e altre tabelle di autorizzazione (oltre a django_migration se necessario)? – toscanelli

+1

Questa risposta è completata con questa altra: https://stackoverflow.com/questions/35745220/how-to-remove-an-app-from-a-django-projects-and-all-its-tables (che cita auth_permission e altri tavoli) – elias

0

Dipende dalla app (come è stato installato, come è stato utilizzato, ecc), ma di solito è possibile rimuovere app dalla INSTALLED_APPS e quindi eliminare le sue tabelle nel database.