2015-01-20 19 views
6

Musiałem przenieść kilka modeli z jednej aplikacji do drugiej i postępowałem zgodnie z instrukcjami w tej odpowiedzi https://stackoverflow.com/a/26472482/188614.
Zasadniczo użyłem migracji CreateModel wygenerowanych przez python manage.py makemigrations, owinąłem je wewnątrz state_operations i dodałem opcję meta 'db_table' z nazwą starej tabeli.
Wszystko działa poprawnie, modele na new_app są odpowiednio używane przy użyciu starych tabel.
Ale jeśli uruchomię python manage.py makemigrations new_app tworzy AlterModelTable migracji dla każdej tabeli nadając jej nazwę jako None coś takiego:Django 1.7 makemigrations przemianowywanie tabel na Brak

migrations.AlterModelTable(
    name='cidade', 
    table=None, 
), 

Jest to błąd, czy to normalne zachowanie?

Odpowiedz

5

Sam miałem ten problem.

Odpowiedź zawiera następujące pan to w migracji w new_app:

options={ 
    'db_table': 'newapp_themodel', 
}, 

Ta opcja DICT powinny odzwierciedlać wartości określone przez klasę Meta modelu. W moim przypadku nie ustawiłem db_table w Meta, ale ślepo skopiowałem kod opcji.

Musisz zaktualizować opcje migracji do newapp albo usunąć wartość db_table jeśli nie ustawić go w Meta lub zgodna z wartością ustawioną w Meta.