現状のデータのレコードを確認する

はじめに

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