필드 삭제 , 마이그레이션 후에도 삭제한 필드가 계속 남아있는 에러
현상
Client 모델에서 menu라는 필드를 제거했는데
뷰에서 필터링 해올때 쿼리문을 보니 menu필드를 그대로..가져온다.
"Unknown column 'client.menu' in 'field list'
디버거에서 출력하는 메세지를 보니 Unable to get repr for <class 'django.db.models.query.QuerySet'> 으로 되어 있다.
원인
Dirty Migration
- 마이그레이션이 제대로 안 됬을 때 해당 에러가 발생한다고 함...
- MySQL 테이블에는 제대로 마이그레이션 되있는데 장고 상에 (?) 제대로 반영 안된듯...
- 알고보니 feature 브랜치를 분기 한 후 메인 브랜치에 merge를 안 시켜줬었음...
- 그래서, 모델을 바꿨었는데 그게 반영된게 아니라 feature브랜치에만 반영되 있었던 상태...
- 근데 심지어 그게 내가 생각한 rename_table 브랜치에 반영된거도 아닌 remove_field라는 브랜치에 반영되어 있었음.
해결
- 브랜치를 분기한 이후에는 반드시 merge를 시켜주자!!
- 마이그레이션 초기화를 진행해본다
Author And Source
이 문제에 관하여(필드 삭제 , 마이그레이션 후에도 삭제한 필드가 계속 남아있는 에러), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@sandartchip/필드-삭제-마이그레이션-후에도-삭제한-필드가-계속-남아있는-에러저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)