1

나는 기존 데이터베이스 구조를 장고 모델로 매핑하고있다. 내가 가진 대다 구조 협회 테이블이 자연에 키가 여기서Django ManyToManyField 연관 테이블에 서로 게이트 키가 있어야합니까?

CREATE TABLE foo (id INTEGER PRIMARY KEY); 
CREATE TABLE bar (id INTEGER PRIMARY KEY); 
CREATE TABLE foo2bar (foo_id INTEGER REFERENCES foo(id), 
         bar_id INTEGER REFERENCES bar(id), 
         PRIMARY KEY (foo_id, bar_id) 
        ); 

이지도하는 장고의 ORM을 얻을 수있는 방법은 없습니다? 대리 키를 사용하려면 foo2bar를 변경해야합니까? 예 :

CREATE TABLE foo2bar (id INTEGER PRIMARY KEY, 
         foo_id INTEGER REFERENCES foo(id), 
         bar_id INTEGER REFERENCES bar(id) 
        ); 
CREATE UNIQUE INDEX ix_foo2bar_uniq ON foo2bar (foo_id, bar_id); 

답변

1

저는 장고 - 최대 1.1까지 - 당신이 원하는 합성 기본 키를 허용합니다.

참조 : http://code.djangoproject.com/ticket/373

그래서, 1.2 (? 2010 년 3 월) 위의 표에 대한 수정을 구현하지 않는 한, 당신은 당신의 데이터베이스 테이블을 수정해야 할 것이라고 말할 것입니다.

+0

독서의 가치 : http://code.djangoproject.com/wiki/MultipleColumnPrimaryKeys – cethegeek

+0

나를 위해 충분히 결정적으로 보입니다 - 감사합니다! –

관련 문제