장고는 DB를 사용할 수 있도록 지원한다.
SQLite라는 DB를 사용하는데 대규모작업에는 적합하지 않지만 대규모 규모가 아니라면 충분히 사용가능한 가볍게 설계된 DB이다.

저는 테스트용으로 버스 위치를 알려주는 페이지를 만들기위해 버스번호, 위치, 업데이트 시간을 모델로 넣었다.
모델을 만들었기 때문에 모델 업데이트를 위해 반드시 마이그레이션을 해줘야한다.
모델을 변경 혹은 신규 작성했다는 사실과 이 사항을 migration으로 저장시키기 위해 명령어를 실행해야 한다.
python manage.py makemigrations [App 이름]

정상적으로 새로운 모델이 생성된것을 터미널 결과를 통해 알 수 있다!
이전 게시글에서도 반복했던 migrate 명령어를 실행을 통해 모델의 변경 사항과 데이터 베이스의 스키마를 동기화 시키자.
python manage.py migrate

마이그레이션이 정상적으로 실행된 것을 볼 수 있다.
이렇게 만들어진 모델을 관리지가 관리 할 수 있도록 admin.py에 정보를 추가해주는 과정이 필요하다.

이렇게 코드를 추가하면 쉘에서 수행하는 데이터 저장, 수정, 삭제 등의 작업을 장고 admin 페이지에서 처리 할 수 있게된다.

관리자 페이지에 Bus 모델 정보가 추가된 것을 볼 수 있다.
이렇게 만들어진 모델은 관리자 계정을 통해 관리할 수 있게된다.

+Add를 클릭하면 모델에서 만들었던 형태의 list를 볼 수 있다.
- Save : 해당 유형의 객체에 대한 변경사항을 저장하고, 변경된 목록 페이지를 보여준다.
- Save and another : 변경사항을 저장하고, 해당 유형의 객체에 대한 비어있는 새로운 입력창을 보여준다.
- Save and continue editing : 해당 객체에 대한 변경사항을 저장하고, 현재 편집창을 갱신한다.

정보를 저장하면 위 페이지처럼 데이터가 추가된것을 확인 할 수 있다.
Bus object (1) 형태로 데이터가 저장된 것을 볼 수 있다. 이렇게 보여지는 형식을 버스 번호만 보이도록 변경 할 수 있다.

이렇게 models.py파일을 수정하면 버스 번호만 보이도록 변경 할 수 있다.

앞에 불필요하게 붙어있던 Bus object가 사라지고 버스의 번호만 출력되는 것을 볼 수 있다.
데이터에 검색 기능을 추가하고 싶다면 admin.py에 검색기능 코드를 추가하여 구현할 수 있다.

search_fields를 버스번호로 추가하여, 검색하면 버스 번호를 검색 할 수 있도록 하였다.
