Я искал какие-либо рекомендации по этому вопросу, но безуспешно. В проекте я часто использую Django data migrations. Они выглядят более или менее похожими на пример из документов. Однако операции иногда довольно сложны, и было бы неплохо иметь некоторый вывод на консоль, суммирующий выполненные операции (т. Е. Что было удалено/создано/перезаписано/и т. Д. И почему).Можно ли печатать на stdout или stderr в миграции данных Django? Если да, то как?
Итак, вопрос в том, правильно ли кодировать такой вход в систему миграции? Если да, то лучше ли использовать модуль logging
Python или просто print
? В первом случае, вероятно, потребуется дополнительная конфигурация, чтобы сделать эти журналы видимыми (в settings.py
?). В последнем случае было бы предпочтительным stderr
или stdout
?
Вопрос может быть расширен, разрешен ли интерактивный ввод от пользователя. Встроенные средства миграции схем могут задавать интерактивные вопросы, связанные с данными.
Custom management commands Рекомендуемые способы предоставления консольного вывода, который является частью мотивации, стоящей за этим вопросом.