Assignment 정리
models.py에서 ForeignKey에 대해서 참조테이블을 적는 방법
한번 정의된 모델에서 새로운 컬럼을 추가할 때 생기는 문제
프로젝트 중간에 새로운 모델의 컬럼을 추가하는 것은 좋지 않다.
하지만 경우에 따라서는 새로운 컬럼을 추가해야하는 경우가 발생할 수 있다.
새로운 컬럼을 추가하게 되면, 이전까지 있던 자료에 새로생긴 컬럼에 대한 자료도 넣어주어야지 오류가 발생하지 않는다.
컬럼을 추가하는 방법
참고
코드작성시 어떤 목적으로 작성하는지 정의 후에 구현하는 것이 좋다.
단순한 것부터 구현해서 조금씩 살을 붙혀나가는 식의 구현이 좋다.
외래키를 참조시 데이터를 get할때 pk를 사용하는 것이 중복된 값에 대한 오류를 없앨수 있다.
예외처리
키에대한 예외처리 - KeyError (키)
데이터에 대한 예외처리 - NotFoundError (get)
정참조 & 역참조
Owner테이블 과 Dog테이블의 관계 설명
Dog테이블은 Owner테이블을 참조하고 있다.
Dog테이블은 Owner테이블에 대한 외래키를 가지고 있다.
그러므로 Dog테이블에서는 Owner테이블에 접근 할 수 있다.
Dog입장에서 Owner에 대한 정보를 가지고 있으므로 정참조로 가지고 올수 있다.
Owner입자에서 Dog에 대한 정보는 가지고 있지 않으므로 역참조로 가지고 올 수 있다.
dog_set(역참조) - 역참조는 object처럼 매니저클래스이다.
models.ManyToManyField
ManyToManyField 경우는 중간에 테이블을 장고에서 자동으로 만들어 준다.
ManyToManyField(through=중간테이블)
테이블에는 생성되지 않는다.