seed data(씨드 데이타 만들기)🌈🌻

2021. 8. 11. 23:28·Programming
반응형
  1. pip를 이용해서 'django-seed'를 설치해 주세요.
pip install django-seed

 

django-seed를 사용하기 위해서는 settings.py의 INSTALLED_APPS 항목에 'django_seed'를 추가해 주어야합니다.

# settings.py ... # Application definition

INSTALLED_APPS = [

'django.contrib.admin',

'django.contrib.auth',

'django.contrib.contenttypes',

'django.contrib.sessions',

'django.contrib.messages',

'django.contrib.staticfiles', 'diary', 'django_seed',

# 추가합니다. ] ...

  1. 터미널을 열고 django-seed를 이용해서 무작위의 30개 Page 데이터를 생성합니다. manage.py 다음 seed를 적고 데이터를 생성할 앱 이름과 생성할 숫자를 적어 주면 됩니다.python manage.py seed diary --number=30
  2. 개발 서버를 켜고 일기 목록 보기 페이지로 가면 생성된 데이터를 확인할 수 있습니다. 그런데 보면 감정 점수가 정수형 이긴 하지만 범위가 너무 넓습니다. 이를 해결 하기 위한 validate_pages 함수를 구현해 볼게요.
  3. diary 앱의 validate_data.py에 validate_pages 함수를 정의합니다.
    • 데이터를 조회하기 위해 먼저 Page 모델을 import 합니다.
    • 모든 데이터를 가져와서 pages라는 변수에 넣습니다.
    from .models import Page def validate_pages(): pages = Page.objects.all()
    • pages를 하나씩 반복하면서 안쪽의 score가 0미만 이거나 10을 초과하는지 확인합니다.
    • 만약 0미만 이거나 10을 초과한다면 random 모듈을 이용해 0에서 10사이의 무작위 정수를 생성한 뒤 수정하고 저장합니다.
  4. from .models import Page import random # random 모듈 import
    
    def validate_pages(): 
    pages = Page.objects.all()
    for page in pages: if page.score < 0 or page.score > 10: # 만약 범위를 벗어난다면
    page.score = random.randint(0, 10) # 0~10 사이의 무작위 정수로 수정하고
    page.save() # 저장합니다.

이제 작성한 validate_pages 함수를 한 번만 실행하면 모든 데이터의 score가 알맞게 변경됩니다.

django shell을 실행하고 validate_pages 함수를 import 합니다.

가져온 함수를 실행해서 데이터를 변경합니다.

 

python manage.py shell

from diary.validate_data import validate_pages

validate_pages()

 

 

반응형
'Programming' 카테고리의 다른 글
  • pagination 구현하기📝
  • Django 페이지네이션(Pagination)🗒
  • Django Form Field ❄️💧
  • HTML Form ✨💫
기록하기-
기록하기-
  • 기록하기-
    꾸밈없이 끊임없이
    기록하기-
  • 전체
    오늘
    어제
    • 분류 전체보기
      • Programming
      • Episode
  • 블로그 메뉴

    • 깃허브
    • 링크드인
  • 링크

    • Github
    • LinkedIn
  • 공지사항

  • 인기 글

  • 태그

    파이썬기초
    파이썬 기초
    파이썬 문법
    python
    파이썬
    파이썬문법
    Django
    python class
    Python 문법
    python 기초 문법
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
기록하기-
seed data(씨드 데이타 만들기)🌈🌻
상단으로

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.