Szukałem żadnych wytycznych w tej sprawie, ale bez powodzenia. W projekcie często używam Django data migrations. Wyglądają bardziej lub mniej jak przykład z dokumentów. Jednak operacje są czasami dość skomplikowane i byłoby miło mieć trochę wyników konsolowych podsumowujących wykonywane operacje (tj. Co usunięto/utworzono/zmieniono/itp. I dlaczego).Czy można drukować na stdout lub stderr w migracjach danych Django? Jeśli tak to jak?
Pytanie brzmi: czy można zakodować takie logowanie w migracji? Jeśli tak, czy lepiej jest użyć modułu Pythona logging
lub po prostu print
? W pierwszym przypadku prawdopodobnie wymagana byłaby dodatkowa konfiguracja, aby te dzienniki były widoczne (w settings.py
?). W tym drugim przypadku, preferowany byłby stderr
lub stdout
?
Pytanie może zostać rozszerzone na pytanie, czy interaktywne dane wejściowe od użytkownika są dopuszczalne. Wbudowane mechanizmy migracji schematów mogą zadawać interaktywne pytania dotyczące danych.
Custom management commands mają zalecane sposoby dostarczania wyjścia konsoli, co jest częścią motywacji kryjącej się za tym pytaniem.