Mam istniejący projekt django z aplikacjami a, b, c. Wszystkie są zawarte w zainstalowanych aplikacjach w pliku ustawień. Mają własne modele, dla których migracje zostały już uruchomione. Teraz, jeśli dodam nową aplikację d, dodaj do niej model, dołącz go do zainstalowanych aplikacji i spróbuj uruchomić zbiorczą makemigrację przy użyciu python manage.py makemigrations
Otrzymuję komunikat no changes detected
. Czy zachowanie nie powinno być takie, jak wykrycie nowej aplikacji i przeprowadzenie migracji początkowej? Wiem, że mogę to zrobić ręcznie przy użyciu python manage.py makemigrations d
, ale chcę to zrobić za pomocą polecenia python manage.py makemigrations
. Czy ktoś może wyjaśnić to zachowanie?Django 1.8, makemigracje nie wykrywa nowo dodanej aplikacji
Odpowiedz
Jeśli ręcznie utworzysz nową aplikację i dodasz ją do ustawienia INSTALLED_APPS bez dodawania do niej modułu migracji, system nie wykryje zmian, ponieważ nie jest to uważane za skonfigurowaną aplikację do migracji.
Polecenie startapp automatycznie dodaje moduł migracji do nowej aplikacji.
struktura StartApp
foo/
__init__.py
admin.py
models.py
migrations/
__init__.py
tests.py
views.py
Rozumiem to i zgadzam się na to. Moje pytanie brzmi: po dodaniu aplikacji ręcznie przy użyciu startapp (z modułem migracji wewnątrz niej automatycznie dodanym przez startapp) i dołączeniu prostego modelu do modelu .s.s.s. w tym samym programie, dlaczego nie została wykonana komenda python manage.py makemigrations zaraz po tym, aby pobrać zmiany, które nowa aplikacja została dodana z modelem i utworzyć odpowiednią tabelę? –
Nie mogę odtworzyć twojego scenariusza. W moim przypadku podczas dodawania nowej aplikacji, ręcznie lub za pomocą polecenia startapp, w tych warunkach zmiany są pobierane zgodnie z oczekiwaniami. –
W każdym razie dzięki. Logicznie nie powinno się to dziać, nie wiem, co może być przyczyną tego. –
- 1. Django 1.8 Uruchom konkretną migrację
- 2. Południe - Nie wykrywa zmian w modelu Django
- 3. Django 1.8 z Jinja2: Contrib app Administrator nie działa
- 4. django 1.8 nie django.db.utils.ProgrammingError: relacja "auth_user" nie istnieje
- 5. Django 1.8 Migracje - obiekt "NoneType" nie ma atrybutu "_meta"
- 6. Pominięcie pamięci podręcznej w Django 1.8?
- 7. Django 1.8 - FieldError: Nie można rozwiązać słowa kluczowego w polu
- 8. Aktualizacja do Django 1.8 - AttributeError: django.test.TestCase nie ma atrybutu "cls_atomics"
- 9. Django 1.8 KeyError: „zarządca” w relacji
- 10. Django 1.7.1 Makemigracje nie udają się, gdy domyślnie używa się lambda dla atrybutu
- 11. Snoop nie wykrywa
- 12. Android GestureListener nie wykrywa zdarzeń
- 13. Chrome nie wykrywa rozmiarów obrazów
- 14. Emgu CV nie wykrywa CUDA
- 15. Eclipse nie wykrywa zainstalowanego java
- 16. Intellij IDEA nie wykrywa zmian
- 17. window.open() nie działa w mobilnym Safari web-aplikacji dodanej do ekranu głównego
- 18. Po zamknięciu terminalu bez zamykania komunikatu "Połączenie odrzucone". Django 1.8
- 19. Django 1.8 Migracje. Dodawanie DateTimeField po utworzeniu db. Najlepsze praktyki?
- 20. Migrowanie bazy danych z lokalnego rozwoju do Heroku-Django 1.8
- 21. Django 1.8 - jaka jest różnica między migracją a makemigracjami?
- 22. Django 1.8 wybierając odrębną na dolnej function() wyrzuca AttributeError
- 23. Zalecana praktyka stosowania modułu import_module w django> = 1.8
- 24. Adnotacje na wielu stołach z Django 1.8 ORM
- 25. Django 1.8 wysyłania poczty za pomocą gmail SMTP
- 26. Uzyskaj wszystkie szablony django wykrywa od TEMPLATE_LOADERS i TEMPLATE_DIRS
- 27. Nie można sprawdzić poprawności nowo ustanowionego połączenia
- 28. IntelliJ - java: Nie można znaleźć JDK '1.8'
- 29. Maven nie można skompilować Javy 1.8
- 30. Jak zmienić wcięcie nowej dodanej zawartości znacznika skryptu
Czy jesteś całkowicie pewien, że dodany do '' d' installed_apps'? – mccc
@mccc tak. Byłem w stanie odtworzyć ten sam scenariusz na komputerze mojego kolegi. –
Czy utworzyłeś aplikację za pomocą polecenia 'startapp'? A może po prostu utworzyłeś folder 'd'? –