Django shellというrails console的な機能でDB操作を行う
|
データベースのテーブルの中身や動作を確認したい時があります。
Django標準の管理画面機能を使ってもいいし、PostgreSQLを直接叩いてもいいのですが、もっと気軽に確認できたら便利ですよね。
というわけで rails console
的な機能ってないのかな?と思い調べたところ、 Django shell という機能がありましたのでメモします。
Django shell
Django shell とは、djangoプロジェクトの環境を読み込んで、ターミナルからPythonコードを実行できる機能です。
Ruby on Railsにおける rails c
と同じようなものですね。DB操作などをコンソールから行い、動作を確認することができます。
Django shellの使い方
Django shellは次のコマンドで起動します。
python manage.py shell
データの作成
試しにユーザーを作ってみます。
from django.contrib.auth.models import User
user = User.objects.create_user('ruby-chan', 'ruby-chan@mogumoguhogehoge.com', 'ruby-chan-password')
user.save()
データの取り出し
作成したユーザーの情報はget()で呼び出せます。
User.objects.get(username='ruby-chan')
データの更新
例えばユーザーのパスワードを変更する場合、次のようにします。
u = User.objects.get(username='ruby-chan')
u.set_password('new password')
u.save()
Django shellを終了する
Ctrl + D
または exit()
と打つとDjango shellから抜けられます。
まとめ
これでDjangoの動作確認など気軽に行えます。やったね!