Это нормально, чтобы изменить код в установленных приложениях в Django
Я использовал приложение под названием django-easy-friends в моем приложении.
Теперь проблема, я хочу сделать некоторые изменения в установленном приложении. Я хочу делать записи в другой таблице каждый раз, когда добавляется новый друг.
Теперь мой вопрос: разумно ли менять код в установленных приложениях? Если нет, то как еще настроить приложения для установки?
2 ответа
Я не люблю изменять код в сторонних библиотеках. Если вы нашли ошибку, вы скорее разветвляете библиотеку, исправляете ее, делаете запрос на извлечение и обновляете его до INSTALLED_APPS
,
Если вы хотите внести некоторые изменения, чтобы получить другое поведение, я думаю, будет разумнее создать подкласс для класса, который вы хотите изменить, инкапсулировать его, обезопасить его или применить любую объектно-ориентированную методологию, подходящую для модификации, которую вы хотите сделать.
Проблемы с изменением кода в сторонних библиотеках выявляются, когда вы хотите обновить стороннюю библиотеку. Вы получите все виды ошибок, когда вы сделаете это. Поскольку ваши изменения могли бы остаться неизвестными для создателей библиотеки, и если по какой-то причине вы забудете, что это были за изменения, ваше приложение станет настоящим беспорядком.
ИМХО, не стоит модифицировать стороннюю библиотеку. Вместо этого действуйте, как рекомендовано выше, сообщайте об ошибках, делите их классы и т. Д., Но не изменяйте их!
Надеюсь это поможет!
Я думаю, что у вас все будет в порядке, пока вы избегаете редактирования своих моделей, все, что вы собираетесь сделать, это изменить "способ работы вашего приложения". Если вы редактируете свои модели, возможно, вам придется удалить базу данных и повторно синхронизировать ее.