/ / Zmiany w modelu bazy danych Django - baza danych, django

Zmiany w modelu Django - baza danych, django

Mam starszą bazę danych, której używam w aplikacji w Django. Użyłem funkcji administratora django do wygenerowania pliku models.py z istniejących tabel.

Jeśli wprowadzę zmiany do modeli, takie jak dodanie unique_together ograniczenie do modeli, czy zmiany są zarządzane przez Django, czy też muszę w jakiś sposób zastosować wspomniane zmiany modelu do bazy danych?

Odpowiedzi:

3 dla odpowiedzi № 1

Aby django mógł wykryć zmiany, musisz użyć narzędzia migracji innej firmy o nazwie south. Teraz, skoro już popełniłeś sens, uciekłeś python manage.py syncdb, musisz usunąć tabelę i zacząć od nowa.

Oto, jak to zrobić (po usunięciu tabeli):

  1. Zainstaluj na południe za pomocą pip install south
  2. Dodaj południe do zainstalowanych aplikacji i upewnij się, że pojawia się przed wszystkimi innymi utworzonymi przez Ciebie aplikacjami
  3. Uruchom to: python manage.py schemamigration --inital <your app name>
  4. Uruchom to: python manage.py migrate <your app name>
  5. Uruchom to: python manage.py syncdb <- ostatni raz będziesz musiał go uruchomić :)

Mam nadzieję, że to pomogło.