/ / Modifiche al database dei modelli Django - database, django

Modifiche al database dei modelli di Django: database, django

Ho un database legacy che sto utilizzando in un'app in Django. Ho usato la funzionalità admin di django per generare il file models.py dalle tabelle esistenti.

Se apporto modifiche ai modelli, ad esempio aggiungendo un unique_together vincolo ai modelli, sono le modifiche gestite da Django o devo applicare in qualche modo le modifiche del modello al database?

risposte:

3 per risposta № 1

Per consentire a django di rilevare le modifiche, è necessario utilizzare uno strumento di migrazione di terze parti chiamato south. Ora, dal momento che hai già assunto un significato, corri python manage.py syncdb, dovrai cancellare la tabella e ricominciare.

Ecco come lo fai (dopo aver cancellato la tua tabella):

  1. Installa sud usando pip install south
  2. Aggiungi a sud le app installate e assicurati che venga prima di tutte le altre app che hai creato
  3. Esegui questo: python manage.py schemamigration --inital <your app name>
  4. Esegui questo: python manage.py migrate <your app name>
  5. Esegui questo: python manage.py syncdb <- l'ultima volta dovrai eseguirlo :)

Spero che questo abbia aiutato.