Django에서는 ORM을 사용하고
Python shell을 통해서도 터미널에서 DB에 접근할 수 있는 듯
python manage.py shell
지난 시간에 이어, 마이그레이션을 한 Article 모델 데이터를 다뤄본다.
article 데이터를 생성하고, title을 Hello World!로 설정한 후 저장
저장한 후, 잘 저장되었는지 데이터와 속성을 조회까지 해보았다.
>>> article = Article()
>>> article
<Article: Article object (None)>
>>> article.title = "Hello, world!"
>>> article
<Article: Article object (None)>
>>> article.title
'Hello, world!'
>>> article.save()
>>> Article.objects.all()
<QuerySet [<Article: Article object (1)>]>
>>> Article.objects.all()[0].title
'Hello, world!'
그리고, Django는 기본적으로 SQLite라는 경량 DBMS를 사용하도록 되어있다고 한다.
SQLite를 다뤄보려면 아래의 HP에서 다운받자
(double underscores) str (double underscores) 메서드는 객체의 정보를 사용자가 이해할 수 있는 문자열로 반환하는 메서드
java class에서 자주 볼 수 있는 toString 메서드 같은 놈인듯
from django.db import models
# Create your models here.
class Article(models.Model):
title = models.CharField(max_length=100)
slug = models.SlugField()
body = models.TextField()
date = models.DateTimeField(auto_now_add=True)
# add in thumbnail
# add in author
def __str__(self):
return self.title
잘 정의했다면, 다시 python shell에서 데이터 조회를 해본다.
>>> from articles.models import Article
>>> Article.objects.all()
<QuerySet [<Article: Hello, world!>, <Article: Django, wow!>]>
참고
https://www.youtube.com/watch?v=eio1wDUHFJE&list=PL4cUxeGkcC9ib4HsrXEYpQnTOTZE1x0uc&index=8
https://velog.io/@thovy/Python-Django-Shell-%EC%82%AC%EC%9A%A9%ED%95%B4%EB%B3%B4%EA%B8%B0
(python shell & ORM)
https://dev-yakuza.posstree.com/ko/django/orm/
( str )
https://goodthings4me.tistory.com/59
(SQLite)