✔️ Django 웹 개발
저번에 이런 JSON 형식으로 데이터 파일을 만들고...
loaddata 를 이용해서 데이터베이스에 데이터를 넣어줬었다.
그런데 이렇게 데이터 파일을 만들 때 생각해야 될 것이 있는데 기본적으로 위의 코드에서 pk 같은 경우에는 각 데이터마다 중복되지 않아야 하고 필드마다 필드에 타입을 맞춰서...
문자열이면 이렇게...
날짜면 이렇게...
그리고 이메일이면 이메일 형식으로 맞춰서 넣어줘야 한다.
앞서 우리가 했던 내용대로 한 두개의 데이터라면 직접 입력할 수 있지만, 이런 식으로 데이터 필드가 늘어나고 입력해야 되는 데이터가 많아지면 쉽지 않은 작업이 될 것이다.
다양한 데이터 필드를 포함한 대량의 데이터를 생성해야 할 때 유용하게 사용할 수 있는 패키지가 바로 django-seed 이다.
한 번 설치해보자!
새로운 터미널을 키고 다음과 같이 커맨드를 입력해준다.
pip install django-seed
다 설치가 완료되었다면 costory 폴더 안에 settings.py 로 가서...
INSTALLED_APPS 에 django_seed 를 추가해 주도록 하겠다.
이렇게만 해주면 설치와 설정이 모두 끝나게 되는데 생각보다 간단하다.
그럼 다시 터미널로 가서 다음과 같이 커맨드를 입력해준다.
python3 manage.py seed posts --number=50
엔터를 치면 이렇게 50개의 데이터가 생겼다고 나옵니다.
그러면 개발 서버를 키고 확인해보자!
실행해보면 이런 식으로 랜덤한 데이터가 쭉 들어와있는 것을 확인할 수 있다.
지금은 50개의 데이터만 생성했지만 필요하다면 100개든, 200개든 임의의 데이터도 쉽게 생성할 수 있다.
이번에는 django-seed 패키지를 이용해서 시딩하는 방법에 대해 알아보았다.
이제 전처럼 일일이 데이터를 입력하지 않아도 임의의 테스트 데이터를 마음대로 생성할 수 있어서 편리하다.
하지만 사용할 때 한 가지 주의할 점이 있다.
django-seed 를 이용하면 모델 필드에 데이터를 타입에 맞는 데이터를 생성해 주긴 하지만 유효성 검증은 거치지 않는다.
우린 알다시피 모든 데이터는 반드시 유효성 검증을 마친 데이터여야 하는데 이 부분이 수행되지 않은 것이다.
따라서 문자열 같은 일반적인 데이터는 django-seed 를 이용해도 되지만 까다로운 유효성을 요구하는 테스트 데이터는 별도로 관리를 해주어야 한다.
끝으로 :