2011-01-10 4 views
0

다음 시나리오에 대해 장고 모델을 만들려고합니다.Django에서 종속 모델 관계를 만드는 방법

여러 클럽이 있습니다. 각 클럽에는 단 하나의 지도자와 여러 명의 회원이 있습니다. 지도자는 또한 회원입니다.

이 나의 모델은 지금까지 다음과 같습니다

관리자 인터페이스에서
class Club(models.Model): 
    name = models.CharField(max_length=50) 
    leader = models.ForeignKey('Member', related_name='+') 
class Member(models.Model): 
    name = models.CharField(max_length=50) 
    club = models.ForeignKey(Club) 

, 내가 먼저 클럽을하지 않고 멤버를 추가 할 수 없습니다,하지만 난 지정 멤버를 생성하지 않고 클럽을 할 수 없습니다 지도자로서. 나는 Blank = True를 리더 ForeignKey 관계에 추가하려고 시도했지만 여전히 작동하지 않습니다.

상황에 맞는 모델을 어떻게 작성해야합니까?

미리 감사드립니다.

답변

1

클럽에 대한 외래 키 및 지도자가 될 회원으로 열을 포함하는 ClubLeader 모델 클래스를 만듭니다. 해당 테이블에있는 클럽 + 회원 ID의 고유성을 강화하여 여러 명의 지도자가 없는지 확인하십시오. 클럽 강습에서 '지도자'를 제거하십시오.

또한, 나는 회원 (그루 초 막스) 자세한 정보는, 빈 들어

0

= 저 같은 사람이하는 어떤 클럽에 가입하지 않을 진정한 데이터베이스의 필드가 null이 될 수 있다는 것을 의미하지 않는다 . ModelForm을 사용할 때 양식 필드를 비워 둘 수 있습니다 (또는 admin 또는 - 또는/또는). 원하는 것은 blank=True, null=True입니다. 이는 null 값을 허용하고/admin 패널의 양식에 공백 값을 허용합니다.

나는 아직도 Spacedman의 대답으로 갈 것이다. '사이에'있는 별도의 표를 제공하십시오. 이렇게하면 회원은 반드시 클럽에 속해야합니다.

관련 문제