2010-07-02 8 views
0

저는 응용 프로그램 사용자와 프로젝트가 있으며 프로젝트별로 django-auth를 확장하기위한 역할이라는 다른 응용 프로그램을 정의하려고합니다.장고의 다른 응용 프로그램에서 ManyToMany 관계를 정의하십시오.

사용자 지정 ManyToMany 관계 모델로 역할 응용 프로그램에서 ProjectMembership을 정의했습니다. 그러나 through 선언을 사용하여 사용자 또는 프로젝트 모델에서 M2M 필드를 어떻게 정의 할 수 있습니까?

그럼 다른 앱에서 모델의 필드를 정의 할 수 있습니까?

답변

1

나는 그것이 가능하다고 생각하지 않는다. 그리고 가능하다면 내 의견으로는 아주 나쁜 해결책이다.

여러분의 최선의 선택은 ProjectMembership 모델을 User와 Project에 각각 두 개의 FK로 생성하는 것입니다. 그렇다면 M2M 릴레이션이 있고, M2M 릴레이션을 작업 할 때 훌륭한 장고 기능 만 사용할 수는 없습니다.

그러나이 기능은 필요하지 않지만 사용자 또는 프로젝트 모델을 수정해야합니다.

1

예, 할 수 있습니다. django가 자동으로 역방향 관계를 만듭니다. related_name을 사용하여 이름을 지정하십시오!

User 모델을 수정 (돈을 패치)하는 것은 좋지 않습니다. 당신이 그것을 확장 할 경우,이 중 하나를 통해 수행

관련 문제