3

db.Model スキーマの変更についての私の理解では、プロパティを追加してから、そのプロパティを使用せずに古いエンティティを取得しようとしても、それは「問題ではない」ということです。

実際、SiteUserdev_server で実行されている db.Modelに次のプロパティを追加します。

category_subscriptions = db.StringProperty()

このプロパティを持たない古い SiteUser エンティティを取得することもできます (GQL クエリを使用)。

ただし、プロパティをリスト プロパティ (StringListProperty、ListProperty のいずれか) に変更すると、次のようになります。

category_subscriptions = db.StringListProperty()

ユーザーを取得しようとすると、次のエラーが発生します。

BadValueError: Property category_subscriptions is required

これは、SDK 開発サーバー バージョン 1.7.4 にあります。それはなぜですか、どうすれば回避できますか?

4

1 に答える 1

0

dev_serverで動作させるための私の回避策は次のとおりです。

1) 本番環境でモデルを更新してデプロイする

2)appcfg.py download_data更新したタイプのすべてのエンティティを使用して取得します

3)appcfg.py upload_dataすべてのエンティティを使用してローカル データストアにプッシュする

出来上がり..ローカルデータストアエンティティを生成せずに取得できるようになりましたBadValueError

于 2013-01-18T15:05:09.240 に答える