Python入門 Djangoの使い方(その14)PythonシェルでDBを操作する。
はじめに
不定期連載のPython入門第28回目です。今回もPythonのWebフレームワーク「Django」を使っていきましょう。PythonのWebフレームワークといえばFlaskやPyramidなどもありますが、最も使われているのはDjangoです。
Djangoではコマンドラインで操作できるAPIを提供してくれています。
簡単なデータの操作はこのAPIを利用することで実現できます。
今回はその機能を使ってみたいと思います。
※参考:本家チュートリアル
今回の内容:
- シェルAPIを利用してデータを参照する。
- シェルAPIを利用してデータを追加する。
- シェルAPIを利用してデータを更新する。
- シェルAPIを利用してデータを削除する。
前提条件:
- Pythonバージョン:Python3
- Djangoバージョン:Django1.10.5
- 実行環境:Windows8
- ツール:VisualStudioCommunity2015
シェルAPIを利用してデータを参照する。
まず、DjangoシェルAPI操作をするためには以下のコマンドを叩きます。
python manage.py shell
Pythonシェルが起動し、「>>>」のマークが出てきます。
まずはmyApp1のmodels下にあるSectionクラスをimportしておきましょう。
from myApp1.models import Section
以下のメソッドを実行してみます。
Section.objects.all()
「<QuerySet [<Section: システム部>, <Section: 営業部>, <Section: 総務部>]>」
のように出てきました。
myApp1_sectionテーブルに格納されているレコードがオブジェクトとなって取得できています。
次にUserをimportしましょう。
from myApp1.models import User
Section同様、以下のメソッドを実行してみます。
User.objects.all()
「<QuerySet []>」のように表示されました。
これはまだUserが登録されていないからです。
シェルAPIを利用してデータを登録する。
ではUserを登録してみましょう。
u = User(section=Section.objects.get(pk=1),name='taro',age=22,address='tokyo') u.save()
saveメソッドで保存が完了します。再び一覧を見てみましょう。
User.objects.all() <QuerySet [<User: taro>]>
Userが登録されています。
管理画面でも確認してみましょう。
ユーザ一覧にtaroが登録されていることが分かります。
シェルAPIを利用してデータを更新する。
では登録したユーザ情報を編集してみましょう。
まずは登録したユーザオブジェクトを取得します。
u = User.objects.get(name='taro')
名前がtaroになっていることを確認しておきます。
u.name 'taro'
名前をjiroに変更します。
u.name ='jiro' u.name 'jiro'
保存します。
u.save()
再び一覧を見てみると、名前がjiroになっています。
User.objects.all() <QuerySet [<User: jiro>]>
管理画面でも確認してみましょう。
jiroに更新できていました。
シェルAPIを利用してデータを削除する。
では最後に削除をしてみましょう。
削除したいユーザオブジェクトを取得します。
u = User.objects.get(name='jiro')
deleteメソッドで削除します。
u.delete()
削除されていることが分かります。
User.objects.all() <QuerySet []>
まとめ
今回はPythonシェルAPIを使ってみました。
簡単にデータ操作ができることが分かりました。