2025.03.02(更新日: 2025.03.07)
現状のデータのレコードを確認する
はじめに
DjangoでバックエンドのAPIを構築した。
そして試しにレコードを追加してみた。
その追加したレコードを以下のコマンドで確認した。
(venv) Mac:django_todo shibatahiroshitaka$ python manage.py shell
Python 3.8.9 (default, Oct 26 2021, 07:25:54)
[Clang 13.0.0 (clang-1300.0.29.30)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
(InteractiveConsole)
>>> from myapp.models import Task
>>> tasks = Task.objects.all()
>>> print(tasks)
<QuerySet [<Task: Django REST API作成>]>
>>> for task in tasks:
... print(task.id, task.title, task.completed)
...
1 Django REST API作成 False
こちらについて解説していこう。
shellを起動する
python manage.py shellでシェルを起動できる。
(venv) Mac:django_todo shibatahiroshitaka$ python manage.py shell
Python 3.8.9 (default, Oct 26 2021, 07:25:54)
[Clang 13.0.0 (clang-1300.0.29.30)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
(InteractiveConsole)
>>>
Taskクラスを読み込む
from myapp.models import Taskで、myapp > models.pyからTaskクラスを読み込んでいる。
(venv) Mac:django_todo shibatahiroshitaka$ python manage.py shell
Python 3.8.9 (default, Oct 26 2021, 07:25:54)
[Clang 13.0.0 (clang-1300.0.29.30)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
(InteractiveConsole)
>>> from myapp.models import Task
myapp > models.pyはこちら。Taskクラスでは、3つのカラム定義と、このオブジェクトが参照された時にタイトルを返すことが書かれている。
from django.db import models
# Create your models here.
class Task(models.Model):
title = models.CharField(max_length=100)
description = models.TextField(blank=True)
completed = models.BooleanField(default=False)
def __str__(self):
return self.title
すべてのTaskオブジェクトを取得
Task.objectsでタスククラスのオブジェクトを取得している。allメソッドで、全ての内容を取得して、tasksという変数に代入した。それを出力すると、「Django REST API作成という名前のタスクが登録されていますよ」というのが分かった。
(venv) Mac:django_todo shibatahiroshitaka$ python manage.py shell
Python 3.8.9 (default, Oct 26 2021, 07:25:54)
[Clang 13.0.0 (clang-1300.0.29.30)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
(InteractiveConsole)
>>> from myapp.models import Task
>>> tasks = Task.objects.all()
>>> print(tasks)
<QuerySet [<Task: Django REST API作成>]>
for文で中身を見ていく
tasksに格納されている一つ一つの中には、それぞれのカラム内のデータが入っている。それをtask.idなどといった形で出力した。
(venv) Mac:django_todo shibatahiroshitaka$ python manage.py shell
Python 3.8.9 (default, Oct 26 2021, 07:25:54)
[Clang 13.0.0 (clang-1300.0.29.30)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
(InteractiveConsole)
>>> from myapp.models import Task
>>> tasks = Task.objects.all()
>>> print(tasks)
<QuerySet [<Task: Django REST API作成>]>
>>> for task in tasks:
... print(task.id, task.title, task.completed)
...
1 Django REST API作成 False
タスクを追加してちゃんと追加されたかどうかを確認する
こちらのフォームから2つ目のデータを送信した。

以下のようにして無事登録した情報が確認できた。descriptionも確認した。
>>> tasks = Task.objects.all()
>>> print(tasks)
<QuerySet [<Task: Django REST API作成>, <Task: 買い物>]>
>>> for task in tasks:
... print(task.id, task.description, task.title, task.completed)
...
1 最初のタスク Django REST API作成 False
2 バローで今日の夕食の材料を購入する 買い物 False
更新されたdb.sqlite3をgitにあげる
追加したデータがおそらくdb.sqlite3に入っている。

なのでこちらをgithubに上げよう。
GUIで操作を行なった。


db.sqlite3の中身は確認できないが上記のコミットを行った。
投稿ID : 28863
コメントを残す