나는 모든 테이블에 기본 키 열이 있어야 장고의 ORM을 사용하면 사실을 알고 있습니다.django (python)에 대한 MySQL 테이블에서 중복되는 기본 키 열을 피할 수 있습니까?
id author_id book_id
1 1 1
2 1 2
3 2 3
etc.
내가이 열 "ID"를 방지하기 위해 제안하는 책을 발견하고있다 : 당신이 테이블로 연결되는 many_to_many 테이블이 어떻게 든 경우에 당신이 뭔가를 얻을 것 (의 그들 저자와 책을 부르 자) 대신에 복합 기본 키를 작성하십시오. 이것은 장고와 함께 작동합니까?
내가 /에 대한 인수에 관심이 있으십니까? 문서가 어디에 있습니까? – Sonny
링크 테이블의 경우 직접 액세스하지 않아도됩니다. Django의 ManyToManyField를 사용하여 'through'매개 변수를 사용하는 링크 테이블 참조 : https://docs.djangoproject.com/en/dev/topics/db/models/#many-to-many-relat ionhips –
@ Sonny : 나는 * article *과 * book *을 썼다. 그 제목은 ** SQL Antipatterns : ** Bill Karwin **이 작성한 데이터베이스 프로그래밍의 함정 피하기 **입니다. 만약 당신이 (위의 예제에서)'author_id'와'book_id'에 복합적 유일 제약을 두어야 만한다면 그는 말합니다. 그렇게하면 복합 키는 'id' 열과 동일한 속성을 갖게됩니다. 그래서 그것은 중복됩니다. 통로는 길고 훨씬 더 많은 논쟁이 있습니다. 그러나 이것이 틀린 것이 아니라면 이것이 그 본질이라고 생각합니다. :-) – Aufwind