DjangoのFixtureを試してみる
DjangoのFixtureを試してみる。
Fixtureを置くためのディレクトリを作成。
$ mkdir app/fixtures
データを作成。
$ vi app/fixtures/initial_data.json [ { "model": "app.book", "pk": 1, "fields": { "price": 1000, "name": "hogehoge1", "created_at": "2021-01-01T12:34:56+09:00", "updated_at": "2021-01-01T12:34:56+09:00" } }, { "model": "app.book", "pk": 2, "fields": { "price": 2000, "name": "hogehoge2", "created_at": "2021-01-01T12:34:56+09:00", "updated_at": "2021-01-01T12:34:56+09:00" } } ]
データを投入。
$ python3 manage.py loaddata initial_data.json
データが入ってる。
$ sudo -u postgres psql hoge_db # select * from app_book; id | price | name | description | created_at | updated_at ----+-------+-----------+-------------+------------------------+------------------------ 1 | 1000 | hogehoge1 | | 2021-01-01 03:34:56+00 | 2021-01-01 03:34:56+00 2 | 2000 | hogehoge2 | | 2021-01-01 03:34:56+00 | 2021-01-01 03:34:56+00
※もう一回実行しても、pkが同じ値なら上書きされる。
※↑では、日付がUTCで表示されているが、PostgreSQLのタイムゾーンを下記のように変えると日本時間で表示できる。
$ sudo vi /var/lib/pgsql/data/postgresql.conf ・・・ timezone = 'Asia/Tokyo' ・・・ $ sudo systemctl restart postgresql