장고로 프로젝트를 진행하다보면 table에 새로운 칼럼을 추가하는 경우가 발생할 수 있다. 이는 프로젝트 초반에 회의를 통해 가능한 수정없이 진행하는 것이지만 프로젝트를 진행하다보면 추가 해야 하는 경우가 충분히 발생가능하다.

 

이유는 자체 개발 하는 거라도 주인이 아니면 아니 주인이더라도 진행하다보면 이기능이 있으면 좋을거 같다라는 생각이 들면 기능 추가가 들어가고 그에 해당되는 테이블에 컬럼이 추가 될 수 있다

 

그러다보니 초기값을 입력해 주지 않을 경우 해당 부분을 데이터베이스에 적용할 때 따로 장고에서 현재 진행중에 디폴트 값을 입력해줄 것인지 아니면 따로 models.py에서 정의를 해줄지 물어본다

 

이때 models.py에 정의를 할경우 따로 유저의 입력이 없으면 우리가 정의한 값이 들어가게 된다

 

만약 현재 진중에 디폴트값을 넣어 주게 될경우에는 해당 데이터베이스에 해당 되는 테이블에 컬럼값을 추가 될때 디폴트랎을 넣어 주게 된다

 

처음 강의를 들었을 때에는 이해가 되었는데 막상 직접 해당 부분을 경험을 하게 되니 강의에 따라 치다가 오류가 생겼다.

이류는 migrations를 진행하면서 디폴트값을 지정하는데 이때 디폴트값을 내가 지정하는게 아닌 장고가 해준다고 이해를 하고 있어 디폴트값을 비워두면서 문제가 발생했다.

 

결국 해당부분을 이해하지 못해 데이터베이스를 삭제후 다시 진행을 하였다. 그러니 정상적으로 동작을 되는것을 확인 할 수 있었다.

 

 

기계적으로 하고 이해도 잘 못 되어 디폴트값을 내가 지정해줘야 함을 잊게 되었다. 자동으로 해주는 부분의 경우 강의에서는 날짜 관련된 부분이였느데 내가 할려는 부분은 아이디 값을 줘야 하는 부분이였다. 그런데 그렇게 하지 않고 그냥 exit를 입력하고 진행을 하였으니 오류가 발생한 것이다

 

데이터베이스를 다 지우고 다시 설치를 했을 때의 경우는 처음부터 만드는 부분이라 당연히 디폴트값이 필요가 없어서 되니 정상적으로 동작이 되었던 것이다.

 

이달 오류가 발생해서 해결을 하는것 까지는 좋으나 왜 해결이 되었는지까지 하는게 가장 베이스인것 같다

'Web' 카테고리의 다른 글

Django) Pagination  (1) 2024.09.03
Redis  (0) 2024.08.29
Google AI Gemini에 대하여  (13) 2024.08.28
특강) 프론트엔드 훑어보기  (0) 2024.08.20
Django 기본 셋팅  (0) 2024.08.19

+ Recent posts