나는 내 데이터베이스 구조에 일대 다 관계를 많이 얻었다. 예를 들어, 사용자가 많고, 학위가 많으며 이메일이 많고 계약이 많습니다.장고 : 일대 쿼리
장고의 쿼리 세트에서이 "select-related()"기능에 대해 알게되었습니다. . 그러나 그것은 "뒤로"이동하지 않습니다. 시작하는 테이블이 다른 모든 테이블에 외래 키를 가지고있을 때만 작동합니다. 일대 다일 경우 사용자의 모든 외래 키를 저장하지 않을 것입니다. 표.
그래서 제 질문은,
- 한 번
- 아직도 장고의 좋은 객체 지향 모델을 사용할 수 있도록 데이터베이스를 때려 내가 할 수있는 몇 가지 방법은 무엇인가 같은 user.degree [이상적이됩니다 0] .school_name - 이것은 굉장 할 것입니다.
어떤 도움을 크게 감상 할 수있다!
편집 1 : 흠 사실 난 그냥 기술적으로, 사용자 테이블이 어떤 필드의 이름 정도를 포함하지 않는 것을 깨달았다. 학위가 사용자와 관련되어 있다는 것을 알 수있는 유일한 방법은 학위 테이블을 살펴보고 사용자 외래 키를 찾는 것입니다. 그래서 이것은 일종의 데이터베이스 뷰와 같습니다.
편집 2 : 많은 JOIN이있는 데이터베이스에서 뷰를 생성하고 Django에서 뷰를 올바르게 미러링 할 수있는 모델을 만들 수 있습니다. ? 모든 다른 데이터베이스가 뷰에서 INSERT/UPDATE/DELETE를 처리하는 방법을 알아내는 것만으로도 목록이 있는지 확실하지 않습니다. 지금 당장 postgresql을 사용하고 있습니다.
훌륭한 조언. 추가 기능을 사용하는 것보다 데이터베이스보기와 같은 표준을 사용하는 편이 낫다고 생각합니다. – reedvoid