Django 기반 프로젝트에서 작업하는 동안 저는 항상 재간 형 응용 프로그램에 대한 장고의 접근 방식을 따르려고합니다. 서로 응용 프로그램을 분리하고 특히 상호 참조를 피하려고 할 때가 있지만 때때로 그것은 가능하지 않습니다.Django 응용 프로그램의 순환 종속성 방지
기사와 사용자라는 두 가지 응용 프로그램이있는 간단한 예를 생각해 봅시다. 기사 응용 프로그램은 기사 모델, 기사 목록보기 및 단일 기사보기를 정의하고, 사용자 응용 프로그램은 사용자 모델 및 사용자 프로필보기를 정의합니다. 기사는 저자 필드에서 사용자를 참조하므로 기사 응용 프로그램은 분명히 사용자 응용 프로그램에 종속적입니다.
하지만 사용자 프로필에 관해서는 해당 페이지에서 사용자가 작성한 최신 기사를 표시하고 싶지만 (사용자가 본 최신 기사 일 수도 있음) 사용자 응용 프로그램이 사용자가 응용 프로그램을 인식하게합니다. 피하려고.
분명히 이러한 모든 참조를 템플릿 수준으로 밀어 넣을 수는 있지만 여전히 문제를 완전히 해결하지 못하고 동시에 데이터베이스 쿼리 측면에서 매우 비효율적 일 수 있습니다.
그런 경우에는 무엇을합니까?
이 문장을 좋아합니다. "때로는 재사용 성을위한 프로그래밍이 처음부터 사용할 수있게 만드는 방식에 있습니다." +1 –