2011-10-24 3 views
0

누구나 다른 모델에 복합 외래 키를 사용하여 모델을 만드는 방법을 알고 있습니다.복합 외래 키를 사용하여 모델을 만들려면 어떻게해야합니까?

사용자 정보 : userId를, 비밀번호, 키, ...

GeoInfo : 아이디, userId를, 비밀번호, StoreName이 ... 위의 샘플 모델에서

. 두 개의 필드 (사용자 ID, 비밀번호)를 사용하여 GeoInfo를 UserInfo에 연결하고 싶습니다.

참고 : 두 개의 모델을 하나의 외래 키로 연결하는 방법을 알고 있습니다.

모든 안내에 감사드립니다. UPDATES1

내가이 게시물을 발견 ->Django or similar for composite primary keys

불행하게도,이하기 때문에 (클라이언트의 사양) 요구 사항 내 경우에는 적용이되지 않습니다 허용 대답이 UserInfo.userId 두 필드 ( 존재, UserInfo.password)를 입력하십시오.

업데이트 2 그래서 장고는 복합 외래 키를 지원하지 않습니다. 어떤 문제를 해결할 사람?

+0

제목에 태그를 넣지 마십시오. – ThiefMaster

답변

0

모델 A를 참조하는 두 개의 ForeignKey 필드가 필요하지 않게되는 이유는 무엇입니까?

class Author(models.Model): 
    name = models.CharField(max_length=50) 

class Book(models.Model): 
    title = models.CharField(max_length=50) 
    author = models.ForeignKey(Author, related_name="primary_authors") 
    co_author = models.ForeignKey(Author, related_name ="co_authors") 

충돌을 방지하려면 'related_name'을 사용해야합니다. 이것이 당신의 질문에 답하지 않는다면, 당신이하고자하는 것을 보여주는 예가 도움이 될 것입니다 ...

+0

'primary_authors'와'co_authors'가 어디 있는지 이해할 수 없습니까? 실제 이름으로 게시물을 업데이트합니다. – eros

+1

두 개의 외래 키는 복합 외래 키와 다른 것입니다. –

+0

@ypercube 지적 해 주셔서 고맙습니다. 그렇습니다. – eros

관련 문제