【Django】manage.py dumpでserializeエラーが出る場合の対処法

Pythonのデータベースの移行などの際に、djangoの機能でもあるdumpを使用します。
その際に、serializeエラーが出ることがあるので、その対処法を紹介します。

manage.py dumpでserializeエラーが出る場合の対処法

実行コード
python manage.py dumpdata > test.json

cmdやターミナルでデータをjsonファイルにまとめようとすると、次のようなエラーが出ます。

エラー
CommandError: Unable to serialize database:~~

データベースがシリアライズ化されていないよーと怒られてますね。

解決策

以下のコードを打ち込みます。

set PYTHONIOENCODING=utf-8

これでPythonのコーディングがutf-8になりました。
この状態で「python manage.py dumpdata > test.json」を打てばOKです。

ちなみにdumpしたデータは新しいデータベースにloadすると思いますが、その際も詰まりやすいポイントがありますので、念のために下記の記事を参考にしてください。

関連記事

PythonのフレームワークDjangoで使用しているデータベースの移行のお話です。 Djangoは初期アプリの推奨DBとしてSQLiteを指定しています。 しかし、それをMySQLに変更したいという人も多いはずです。 dum[…]