Komenda python manage.py syncdb tworzy nowe tabele bez modyfikowania istniejących. Co zrobić jeśli chcemy rozbudować nasz model, a nie chcemy stracić danych już wprowadzonych? Proste rozwiązanie poniżej.
1) Robimy zrzut bazy danych:
python manage.py dumpdata nazwa_aplikacji > backup.sql
2) Dodajemy nowe atrybuty do modelu określając domyślne atrybuty, uzupełniając już istniejące o domyślne wartości
3) Resetujemy aplikację by wykreować zmodyfikowane tabele
python manage.py reset nazwa_aplikacji
4) Wczytujemy dane zrzucone w pkt 1.
python manage.py loaddata backup.sql
Alternatywną metodą jest użycie django-evolution, ale powyższa metoda pozwala na zmiany bez grzebania się w kodzie.