学習プロジェクトとして、GAEでdjango-nonrelを使用して、NBAに関するできるだけ多くのデータを含むサイトを設計しています。そのため、400人以上のプレーヤーの情報を手作業で入力することは考えられないため、データベース(GAEデータストアを使用)にフィクスチャを使用してほとんどのデータを事前入力する必要があります。そのために、次の形式で.yamlフィクスチャを作成しました(django docsの例から直接取得)。
- model: players.player
pk: 1
fields:
team: 10
first_name: Jeff
last_name: Adrien
age: 25
pos: SF
gp: 8
- model: players.player
pk: 2
fields:
team: 7
first_name: Arron
last_name: Afflalo
age: 26
pos: SG
gp: 32
残念ながら、「python manage.py remote loaddata nbadata.yaml」を実行すると、最初の190プレーヤー(最初に190をロードしたとき、2回目に186をロードしたため)のみがロードされてから、クラップアウトして表示されます。次のエラーメッセージ:
File "/usr/local/google_appengine/lib/fancy_urllib/fancy_urllib/__init__.py",
line 367, in do_open
raise url_error
URLError: <urlopen error [Errno 101] Network is unreachable>
誰かが何が起こっているのか、そして解決策があるかどうか知っていますか?
更新:.yamlファイルの名前を「initial_data.yaml」に変更して、「pythonmanage.pydeploy」プロセスのsyncdb部分で自動ロードがうまくいくかどうかを確認しました。次の結果が得られました。
Running syncdb.
Creating tables ...
Installing custom SQL ...
Installing indexes ...
Installed 448 object(s) from 1 fixture(s)
ただし、データストアを見ると、まだ186人のプレーヤーしかいません。誰かが何が起こっているのか知っていますか?