코드 리팩토링-Models.py 수정하기

김의석 ·2024년 4월 25일

Hello! Poko Ver.1

목록 보기
19/20
post-thumbnail

초기 기능 구현 때 잘못 설계한 models.py를 수정한다.

  • 주요수정사항
    • 로그인 기능이 도입되어 선생님별 분류를 위해 만들었던 Teacher model을 django.contrib.auth.models에서 제공하는 User model로 대체!
    • User model로 대체하면서 중복으로 의미가 사용되었던 Attendance model의 teacher_name 필드를 삭제하고 User 모델을 foreignKey 필드로 사용!

django.contrib.auth.models의 User model

  • Teacher model을 foreign key로 참조하는 필드를 다음과 같이 User model로 대체하였다!
    • views.py에서도 ORM을 사용하여 Teacher model의 필드 값을 참조하던 코드들도 User model 사용으로 ORM 사용없이 바로 request.user 필요한 값을 참조할 수 있게 되었다.
  • to_filed 옵션을 추가하여 foreign key로 지정한 모델의 특정 필드값을 참조할 수 있게 하였다.

User model을 foreignKey 필드로 사용

  • Attendance model에서도 설계 미스로 작성한 teacher_name(의미중복) 필드를 삭제하고 User model을 foreign key로 참조하였다.

Result

2024.04.30

  • 불필요한 필드 삭제
  • 양육일지 기능 추가 시 Post 모델의 확장을 대비하여 수정

고려해야할 점

  • User model로 대체하면서 기존의 Teacher model의 데이터들(다른 model에서 참조하는 데이터 포함)을 유지하려고 여러시도를 하였으나 데이터가 호환이 잘 안되어 일단 데이터베이스를 초기화하였다.
  • 추후 운영서버 적용시 이에 대한 대책을 고려해야할 필요가 있다.
profile
널리 이롭게

0개의 댓글