2010-05-21 5 views
4

저는 사립 선생님이 학생들을 관리하는 데 도움이되는 사이트에서 일하고 있으며,이 중 일부는 선생님에게 얼마나 많은 돈이 있는지 추적 할 것입니다.Django : 앱을 서로 의존하지 않게하는 데 도움이 필요합니다.

내 앱을 재사용하고 서로 의존성을 없애고 싶습니다. 그래서 학생, 교사, 부모 개체의 CRUD 책임을 맡은 앱을 하나 만들었습니다 (이 모델은 모두 User에게 외래 키가있어 사용자 프로필과 비슷하지만 내장 함수를 사용하지 않습니다). 사용자 프로필 시스템). 학생 개체를 부모 개체와 관련시키는 가족 모델도 있습니다. 또한 계정, 송장 및 품목을 관리하는 책임이있는 별도의 응용 프로그램을 만들었습니다.

내 문제는이 두 가지 통합에 있습니다. 계정 개체와 잔액을 나열하는 일반 뷰를 기반으로하는 계정 앱에 기본 템플릿이 있습니다. 해당 템플릿에서 수행하려는 작업은 가족별로 계정을 그룹화하고 해당 가족에 속한 모든 계정에 대한 합계를 표시하는 것입니다.

앱을 서로 종속시키지 않으면 서 어떻게해야합니까?

+0

앱 템플릿을 독립적으로 유지하는 데 문제가 있습니까? 또는 재사용 가능한 앱에 대해 더 일반적인 질문입니다. –

+0

@ John Debs 후자. 나는 Account와 함께 many to many를 가진 AccountGroup 클래스를 만들 생각을 가지고있다. 그리고 또한 일반적인 외래 키를 설정한다. 기본적으로 계정은 다른 앱에서 공통으로 가질 수있는 데이터를 기반으로 함께 그룹화 될 수있다. 이것이 좋은 접근이라고 생각하십니까? – UrLicht

답변

0

는 여기에 지금까지 작동하는 것 같군 그 무슨이다 : here

class AccountGroup(models.Model): 
    accounts = models.ManyToManyField(Account) 
    content_type = models.ForeignKey(ContentType) 
    object_id = models.PositiveIntegerField() 
    content_object = generic.GenericForeignKey('content_type', 'object_id') 

을 문서화. 이 방법으로 계정은 외부 앱에서 공통으로 가지고있는 항목으로 그룹화 할 수 있습니다. 제 경우에는 계정 그룹을 만들 때 content_type을 family로 설정하고 object_id는 그룹으로 묶어야하는 특정 패밀리 인스턴스로 설정합니다. 뷰는 간단한 래핑 된 일반 뷰입니다.

관련 문제