셸 플러스를 이용해 데이터베이스 살펴보기
Posted on 2021-08-25 by GKSRUDTN99
Django로 웹사이트 만들기
장고
셸 플러스를 이용해 데이터베이스 살펴보기
장고 셸 이용하기
python manage.py shell
을 이용해 장고 셸을 이용할 수 있다.
>>> from blog.models import Post, Category
>>> Post.objects.count()
출력...
>>> Category.objects.count()
출력...
for문도 활용할 수 있다.
>>> for p in Post.object.all()
>>> print(p)
출력...
>>> for c in Category.objects.all():
>>> print(c)
출력...
장고 셸 플러스 이용하기
pip install django_extensions
와 pip install ipython
을 통해 설치한다.
settings.py의 INSTALLED_APPS
에 django_extensions
를 추가한다.
python manage.py shell_plus
로 셸 플러스를 실행한다.
셸 플러스는 파이썬 코드에 따라 글자 색상이 다르게 표현되어 가독성이 높아지고,
for문을 사용할 때 자동으로 들여쓰기도 자동으로 맞춰져 편리하다.
또한 Post와 Category 모델들을 임포트 하지 않고 사용 가능하다.
name__startswith
을 통해 name이 '장'으로 시작하는 카테고리 레코드를 가져올 수 있다.
In [5]: category_etc = Category.objects.get(slug='기타')
In [6]: category_django = Category.objects.get(name__startswith='장')
In [7]: category_etc
Out[7]: <Category: 기타>
In [8]: category_django
Out[8]: <Category: 장고>
category_etc.post_set
으로 category_etc에 저장되어 있는 Category 레코드와 ForeignKey로 연결되어 있는 Post 레코드를 불러올 수 있다.
이때 모델명을 소문자를 쓰고 뒤에 _set을 붙이는 것이 기본 설정이다.
In [10]: for p in category_etc.post_set.all():
...: print(p)
...:
[3]sublimeText에 Markdown설치 :: gksrudtn99
In [11]: for p in category_django.post_set.all():
...: print(p)
...:
[1]장고에 대하여 :: gksrudtn99
[4]모델 추가 :: gksrudtn99
[5]장고 개발환경 설정하기 :: gksrudtn99