내 응용 프로그램에 django-easy-friends라는 응용 프로그램을 사용하고 있습니다.django에 설치된 응용 프로그램의 코드를 변경하는 것이 좋습니다
지금 문제는 설치된 앱에서 몇 가지 변경을하고 싶습니다. 나는 새로운 친구가 추가 될 때마다 다른 테이블에 항목을 만들고 싶다.
이제 제 질문은 설치된 앱에서 코드를 변경하는 것이 현명한가요? 설치하려는 앱을 어떻게 사용자 정의 할 수 있습니까?
내 응용 프로그램에 django-easy-friends라는 응용 프로그램을 사용하고 있습니다.django에 설치된 응용 프로그램의 코드를 변경하는 것이 좋습니다
지금 문제는 설치된 앱에서 몇 가지 변경을하고 싶습니다. 나는 새로운 친구가 추가 될 때마다 다른 테이블에 항목을 만들고 싶다.
이제 제 질문은 설치된 앱에서 코드를 변경하는 것이 현명한가요? 설치하려는 앱을 어떻게 사용자 정의 할 수 있습니까?
제 3 자 라이브러리의 코드를 수정하고 싶지 않습니다. 버그를 발견하면 라이브러리를 포크로 고쳐 수정 한 후 풀 요청을하고 INSTALLED_APPS
으로 업데이트하십시오.
당신이 다른 행동을 얻기 위해 일부 수정하고 싶은 경우에, 나는 생각 서브 클래스는을 수정할 클래스에 현명, 는, 원숭이가 그것을 패치를 캡슐화하거나 지향 어떤 객체 방법론 당신은 적절한 찾을 수 당신이 만들고 싶은 수정을 위해.
타사 라이브러리를 업데이트하려는 경우 타사 라이브러리의 코드 수정 문제가 발생합니다. 당신이 할 때 모든 종류의 오류가 발생합니다. 변경 사항이 라이브러리 제작자에게 알려지지 않았기 때문에 변경 사항이 무엇인지 잊어 버린 경우 앱이 진짜 엉망이됩니다.
IMHO, 아니요 타사 라이브러리를 수정해야합니다. 그 대신 위의 권장대로 진행하고, 버그를보고하고, 클래스를 하위 클래스로 분류하지만 수정하지 마십시오!
희망이 도움이됩니다.
당신이 모델 편집을하지 않는 한, 당신이해야 할 일은 '당신의 앱 작동 방식'을 바꾸는 것입니다. 모델을 편집하는 경우 데이터베이스를 제거하고 다시 동기화해야 할 수 있습니다.