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