くらげになりたい。

くらげのようにふわふわ生きたい日曜プログラマなブログ。趣味の備忘録です。

Djangoのmanage.pyでDBデータのダンプ/ロードする

DjangoでDBデータを扱うときの備忘録。よく使うけど、忘れるので。

DBのデータをダンプする

# 全テーブル出力
$ python manage.py dumpdata --indent 2 --format json

# モジュールの全テーブル出力
$ python manage.py dumpdata <mymodule> --indent 2

# 特定のテーブル出力
$ python manage.py dumpdata <mymodule>.<model> --indent 2

# ダブルバイト文字はunicodeで表示されるので、native2asciiなどで変換
$ python manage.py dumpdata --indent 2 --format json | native2ascii -reverse

DBのデータをロードする

# <filename>のロード
$ python manage.py loaddata <filename>

おまけ、shellでファイルを実行する

$ python manage.py shell < myscript.py

$ python manage.py shell
...
>>> execfile('myscript.py')          # Python2.x
>>> exec(open('myscript.py').read()) # Python3.x
import os, django
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "myapp.settings")
django.setup()

以上!!