2009-05-27 4 views
0

모든 모델이 두 개의 필드 - 개체의 ID 만 정의하는 공통 "개체"모델을 상속하는 Django 프로젝트가 있습니다. 따라서 전체 시스템의 모든 개체에 고유 식별자가 있습니다.)와 "유형". 유형은 특정 인스턴스가있는 오브젝트의 유형입니다. 이것은 일종의 "비정규 화 된"필드로, 예를 들어 Object에서 Person으로 트리를 이동하는 것이 더 빠릅니다.Django 모델 상속 : 중복 된 클래스 필드

기본적으로 Object에서 상속 한 다른 클래스와 동일한 이름을 가진 상속 된 모델 중 하나에 필드가 있습니다. 즉, 관계를 아래로 이동하기위한 필드가 재정의됨을 의미합니다.

다른 사람들이 비슷한 경험을했는지, 그리고 계승 모델에서 필드의 이름을 바꾸는 것 이외에도 우아한 해결책이 있는지 궁금했습니다.

답변

1

아마도 이름이 적절할 수 있습니다. 필드 중 하나가 클래스와 동일한 식별자를 가진 경우 일부 명명 규칙을 위반할 수 있습니다 (물론 이러한 규칙은 규칙 임).

PEP 8, 섹션 이름 지정 규칙을 참조하십시오.

Class Names 

    Almost without exception, class names use the CapWords convention. 
    Classes for internal use have a leading underscore in addition. 


Method Names and Instance Variables 

    Use the function naming rules: lowercase with words separated by 
    underscores as necessary to improve readability. 
관련 문제