[PYTHON] django의 복합 기본 키
PYTHONdjango의 복합 기본 키
복합 기본 키를 가진 레거시 db 테이블이 있습니다. 그 테이블을 사용하는 코드가 작성 되었기 때문에 대리 키를 포함하도록 구조를 변경할 수 있다고는 생각하지 않습니다. 그리고 장고에서는 기본 키 (비 합성)가 없기 때문에 테이블을 사용할 수 없습니다.
django 모델은 복합 기본 키를 지원합니까? 그렇지 않은 경우 테이블의 구조를 변경하지 않고 해결 방법이 있습니까?
추신 나는 postgresql을 사용하고있다.
해결법
-
==============================
1.아래에서 비슷한 코드를 사용해보십시오.
아래에서 비슷한 코드를 사용해보십시오.
class MyTable(models.Model): class Meta: unique_together = (('key1', 'key2'),) key1 = models.IntegerField(primary_key=True) key2 = models.IntegerField()
고유 한 혼합 필드 만 원하면 다음을 수행하십시오.
class MyTable(models.Model): class Meta: unique_together = (('key1', 'key2'),) key1 = models.IntegerField() key2 = models.IntegerField()
편집 : 나는이 접근법에 문제가 있다는 것을 알고 싶습니다 3 열이 있다면. 업데이트 쿼리가 작동하지 않습니다 ( "SET"다음에 pk 필드를 넣음) 고유 한 필드가 분명히 실패하므로 업데이트 쿼리가 작동하지 않습니다.
from https://stackoverflow.com/questions/28712848/composite-primary-key-in-django by cc-by-sa and MIT license
'PYTHON' 카테고리의 다른 글
[PYTHON] OS가 파이썬에서 Vista인지 확인하는 방법? (0) | 2018.10.26 |
---|---|
[PYTHON] [x] 대신 operator.itemgetter (x)를 사용해야하는 이유는 무엇입니까? (0) | 2018.10.26 |
[PYTHON] 장고 : CSS가 작동하지 않습니다. (0) | 2018.10.26 |
[PYTHON] "next"매개 변수 인 redirect, django.contrib.auth.login (0) | 2018.10.26 |
[PYTHON] PyMySQL은 로컬 호스트의 MySQL에 연결할 수 없습니다. (0) | 2018.10.26 |