지난번 게시글에서 나는 Board 테이블을 만들어서 관리자 페이지에 연결하였다. 서버를 실행해 실제 GUI 환경에서 admin사이트를 들어가면 Board 테이블을 확인할 수 있다.
이 게시판에 글을 작성해보자
title은 "디저트1" content는 "케이크 먹고싶다" 로 작성해보았다.
정말로 케이크가 먹고싶어졌다....
프로젝트 폴더 바로 아래에 models_test.py 와 같이 새로운 파일을 생성해서 조작한다.
import os
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "config.settings")
from django.core.wsgi import get_wsgi_application
application = get_wsgi_application()
위 코드는 프로젝트에 models_test 등록 및 WSGI 인터페이스를 호출하는 코드다.
경로 : myhome\models_test.py
( 여기서 myhome은 프로젝트 상위폴더이다. )
from MyWeb.models import Board
def data_select():
print(Board.objects.all()) # 모든 데이터 조회
print(Board.objects.count()) # 데이터 개수 조회
print(Board.objects.get(id=1)) # id가 1인 데이터 조회 (filter도 가능)
data_select()
위 코드는 다음과 같이 출력된다.
<QuerySet [<Board: 디저트1>]>
1
디저트1
모든 데이터는 <Board: 디저트1>밖에 없으므로가 이것만 출력되었고
따라서 데이터 개수도 1로 출력되었다.
처음으로 작성한 데이터기 때문에 id가 1이고 아까 APP의 models.py에서 반환값을 title로 설정하여 디저트가 나오게 되었다.
from MyWeb.models import Board
def data_create():
Board_data = Board(title="디저트2", content="마카롱")
Board_data.save()
print(Board.objects.all())
data_create()
위 코드를 실행하면 title이 "디저트2"인 데이터가 생성된다.
데이터가 잘 생성되었는지를 보기위해 생성 코드를 주석처리하고
위의 조회 코드를 실행해본다.
<QuerySet [<Board: 디저트1>, <Board: 디저트2>]>
2
디저트1
디저트2라는 데이터가 잘 추가되어서 위와 같이 잘 나온 것을 볼 수 있다.
이 때 id가 1인 데이터의 title은 여전히 디저트1이므로 디저트1로 출력된다.
from MyWeb.models import Board
def data_delete():
Board_data = Board.objects.get(title="디저트2")
Board_data.delete()
print(Board.objects.all())
data_delete()
위와 같이 작성하면 데이터를 삭제할 수 있다.
위의 코드는 title을 적어서 그 title의 데이터를 삭제하도록 하였다.
이때 title이 아닌 다른 id 같은것으로 데이터를 구분하여 삭제할수도 있다.
from MyWeb.models import Board
def data_modify():
Board_data = Board.objects.get(title="디저트1")
Board_data.title = "디저트3"
Board_data.content = "티라미수"
Board_data.save()
print(Board.objects.all())
data_modify()
위의 코드는 데이터를 수정하는 코드이다.
디저트1의 데이터를 title은 디저트3, content는 티라미수로 바꾸었다.
<QuerySet [<Board: 디저트3>]>
1
디저트3
데이터 조회 코드를 이용하여 다시 출력을 하면 잘 수정되었음을 확인할 수 있다^^