나는 장고에서 응용 프로그램을 작성하고 있는데, 나는 하나의 계층을 상속받은 여러 하위 클래스에 모델을 만들고 싶습니다. 즉 :모델 하위 클래스를 결합하고 사용하지 않는 필드를 사용하거나 구체적인 하위 클래스를 만드는 것이 더 좋습니까?
차량 -> 자동차, 자전거, 버스들
내가 검색 할 수 및 저장 차량의 슈퍼 클래스와 같은 항목하지만, 서브 클래스로 내리 뜬 대부분의 경우 추가 필드를 사용할 수 있어야합니다. Django에서는 데이터베이스에 많은 히트가 발생하여 하위 모델을 검색하거나 대규모 조인과 쿼리를 검색합니다.
구체적인 하위 클래스를 사용하고 성능에 문제가 있습니까? 아니면 하나의 차량 모델에 추가 필드를 추가 한 다음 여러 가지 개체에서 사용하지 않는 필드를 사용해야합니까?
나는 추가 필드는이 질문에 대한 4 개 서브 클래스 (최대 모델 당 9 개 사용되지 않는 필드)
이것은 관계가 OTM이지만 작은 수 (다수)와 거대한 테이블이 될 것에 대한 조인을 피할 수있는 선택 사항입니다. – pypypy
하나의 수퍼 클래스를 사용하고 postgres DB가있는 JSON 필드에 추가 필드를 덤프 할 것이라고 생각합니다. 아직 성능 저하없이 쿼리 할 수 있으며 사용되지 않는 필드가있는 공간을 차지하지 않습니다. – pypypy
그렇습니다. JSON 필드는 Postgres DB를 사용하는 경우 좋은 해결책입니다 - NoSQL의 장점과 결합 된 SQL의 장점 : – idik