Foreign Key
-
TypeError : Field 'id' expected a number but got <User : User object (1)>Django 2022. 1. 5. 08:32
사이드 프로젝트로 'Zara' 클론 코딩을 하고 있습니다. 그중에서 장바구니 앱을 하던 중에 마주한 에러 메시지에 대해 알아보고자 합니다. 대부분의 에러메세지가 그렇지만 특히 이번 것은 조금만 읽어보면 에러 메시지에 답이 다 담겨 있습니다. 제가 'id'에 해당하는 값(number)을 불러오겠다 하고 그곳에 'User' 객체를 가져와서 생긴 에러 메시지입니다. 장바구니 앱을 처음 작성해본 것이라 지저분하고 불필요한 부분이 많아서 보시기 불편하시겠지만 조금 양해 부탁드립니다. 에러 메시지가 발생한 이유와 어떻게 그리고 왜 이렇게 해결된 건지를 집중적으로 보신다면 좋을 것 같습니다. 장바구니 앱을 모델링한 것입니다. 처음에 유저 1명당 장바구니를 1개만 활성화시키고 싶어서 1:1 관계인 OneToOneFie..
-
Foreign Key - CASCADEDjango 2021. 12. 16. 17:51
Foreign Key - 한 테이블을 다른 테이블과 연결 (1:N 관계) - 참조되는 테이블의 필드(1:N에서 1이 되는 테이블)는 반드시 UNIQUE나 PRIMARY KEY 제약 조건 설정 - 2개의 인자 필요(대상이 되는 클래스, 대상이 되는 클래스 삭제시 조건) - 참조되는 테이블의 데이터 수정이나 삭제가 발생하면, 참조하고 있는 테이블의 데이터도 같이 영향을 받습니다. - ex) 게시글 - 댓글 이때 참조하고 있는 테이블의 동작은 다음 키워드를 사용하여 FOREIGN KEY 제약 조건에서 미리 설정할 수 있습니다. 1. ON_DELETE (참조되는 테이블의 값이 삭제되는 경우) 2. ON_UPDATE (참조되는 테이블의 값이 수정되는 경우) 외래 키가 설정된 테이블에 레코드를 입력하면, 기준이 되..
-
CLI를 통해 FK로 연결된 하위 테이블 데이터 입력하는 방법Django 2021. 12. 12. 22:59
스타벅스 홈페이지를 모델링하여 데이터베이스를 구조화하는 중에 마주한 에러메세지에 대해 다뤄보고자 합니다. 우선 CLI(Command Line Interface)인 터미널의 창 하나는 mysql에 접속하고 다른 창 하나는 python shell을 켜서 작업하시는 것을 추천드립니다. Menu - 음료, 푸드, 상품, 카드 Categories - 콜드 브루, 브루드 커피, 에스프레소, ..., 브레드, 케이크, ..., 머그, 실물카드 등 1대 다의 구조이므로 Categories 클래스에 FK(Foreign Key - 다른 테이블을 참조)를 두어 Menu의 PK와 CASCADE를 통해 연결시켰습니다. 우선 mysql에서 Menu에 아래와 같이 값을 입력했습니다. Menu의 경우 FK로 연결되어 있지 않기에 아..