해당 앱을 수정하지 않고 INSTALLED_APP에서 사용되는 모델을 재정의 할 수 있습니까? 예를 들어 django-basic-blog에는 필드를 추가하려는 Post 모델이 있습니다. 나는 장고 - 베이직 - 블로그를 직접 편집 할 수 있었지만 코드 이식성을 위해서 그 위에 빌드하고 싶다. 포스트 모델에 대한 기존의 모든 참조를 유지하고자하므로 하위 클래스로 만들고 싶지 않습니다. 미리 감사드립니다!Django에 설치된 앱에 정의 된 모델을 재정의하는 방법은 무엇입니까?
8
A
답변
11
원래 필드를 하위 클래스로 분류하면 원본 테이블에 계속 저장되므로 참조가 유효합니다. 당신은 원숭이 패치 할 것인지
주로 추천 더러운 방법은 아닙니다 기존의 클래스는, 당신은 당신이 수정할 한 후 응용 프로그램에로드됩니다 일부
models.py
파일에contribute_to_class
을 사용할 수
models.py :
from django.db.models import CharField
from blog.models import Post
CharField(max_length="100").contribute_to_class(Post, 'new_field')
이 같은 그것을 할 경우, 당신은 항상 변경 사항이 코드의 다른 조각과 코드를 유지하기 어렵게 될 것이다 충돌 할 위험을 베어있다!
관련 문제
- 1. 플러그인 내부에서 정의 된 모델을 재정의하는 가장 좋은 방법은 무엇입니까?
- 2. 은 django에 정의 된 system_user()입니까?
- 3. Drupal 6 모듈에 정의 된 테마 함수를 재정의하는 방법은 무엇입니까?
- 4. wx.GridSizer를 재정의하는 방법은 무엇입니까?
- 5. 상속 된 치수를 재정의하는 방법은 무엇입니까?
- 6. 계산 된 값을 재정의하는 방법은 무엇입니까? 그래서
- 7. 크롬에 포함 된 스타일을 재정의하는 방법은 무엇입니까?
- 8. Django에 모델을 저장하는 비표준 SQL 서비스가 있습니까?
- 9. [] 연산자를 재정의하는 방법은 무엇입니까?
- 10. 스타일 상속을 재정의하는 방법은 무엇입니까?
- 11. WebKit의 PDFViewSavePDFToDownloadFolder를 재정의하는 방법은 무엇입니까?
- 12. Qt - 위젯을 재정의하는 방법은 무엇입니까?
- 13. 네이티브 리소스를 재정의하는 방법은 무엇입니까?
- 14. Magento에서 검색을 재정의하는 방법은 무엇입니까?
- 15. firefox 캐시를 재정의하는 방법은 무엇입니까?
- 16. 최소화 제어를 재정의하는 방법은 무엇입니까?
- 17. nmake : 포함을 위해 매크로를 재정의하는 방법은 무엇입니까?
- 18. 모델을 업데이트하는 방법은 무엇입니까?
- 19. Drupal에서 $ block-> content를 재정의하는 방법은 무엇입니까?
- 20. EditorTemplate을 사용하여 레이블을 재정의하는 방법은 무엇입니까?
- 21. Magento에서 기본 검색을 재정의하는 방법은 무엇입니까?
- 22. MVC에서 사용자 정의 문자열 객체 모델을 만드는 방법은 무엇입니까?
- 23. django에 등록
- 24. 델파이에서 프린터 모델을 찾는 방법은 무엇입니까?
- 25. 중첩 된 C++ 객체 메소드를 재정의하는 방법은 무엇입니까?
- 26. C#에서 상속 된 클래스 속성을 재정의하는 방법은 무엇입니까?
- 27. ClickOnce가 설치된 응용 프로그램 디렉토리 사용자 정의
- 28. android의 ArrayAdapter에서 필터를 재정의하는 방법은 무엇입니까?
- 29. maven-core-2.0.7-uber.jar를 재정의하는 방법은 무엇입니까?
- 30. 창 표시 작업을 재정의하는 방법은 무엇입니까?
위대한 답변! 나는 당신이 1을위한 예제를 제공한다면 좋을 것이다;) – Jannis