장고 튜토리얼의 polls 예제에 있는 DB 관련 API들에 대해 정리해봤다. 기본적으로는 파이썬 문법을 따라가기 때문에 이해하는데에 크게 어려움은 없었고,
일반적인 DB에서 사용하는 sql 쿼리문 대신 이런식으로도 데이터를 가져올 수 있구나~ 정도만 알아두면 될것같다.
python3 manage.py shell
manage.py에 설정된DJANGO_SETTINGS_MODULE환경변수 때문에 위와같이 쉘을 실행한다.
mysite/settings.py 파일의 import내용을 그대로 가져와 python 쉘에서 사용할 수 있게 하기 때문에, 대화식 Python 쉘에서 Django가 접근할 수 있는 Python 모듈 경로를 그대로 사용 할 수 있다.
즉, Django에서 동작하는 모든 명령을 대화식 Python 쉘에서 그대로 시험해 볼 수 있다.
>>>q = Question(question\_text="What's new?", pub\_date=timezone.now())
>>>q.save()
models.py 에서 선언한 Question 이라는 클래스형에 맞게 데이터를 하나 만들어준거다.
이 데이터는 아래와 같은 명령어들로 찾아와볼 수 있는데, 출력하면 다 똑같이 나올거다.
>>> Question.objects.all() - 만들어진 Question클래스 전체 데이터 출력
>>> Question.objects.filter(id=1) - id값이 1에 해당하는 데이터 출력
>>> current_year = timezone.now().year - 현재 일시 기준으로 년 데이터 가져와 current_year 라는 변수로 사용
>>> Question.objects.get(pub_date__year = current_year) - 이번년도에 만든 데이터 가져옴
해당 명령어들 모두 동일하게
<QuerySet [<Question: What's new?>]>
라고 맨처음에 정의했던 데이터를 출력하는 명령어 들이다.
-- 계속 작성중..