App Engine データストアで重大な問題が発生しています。デバッグの影響を完全に受けていないようです。エンティティを構築した後に変更できません。
この問題は、メイン アプリケーションとコードを共有しない app.yaml で定義されたコンソールから作業する場合にも発生します。コンソールからの例を次に示します。
>>> foo = Topic(name='bar') >>> foo.name 'bar' >>> foo.name = 'foo' >>> foo.name 'bar'
この同じ動作は、アプリケーション内のすべてのエンティティの種類とすべてのプロパティに影響します。エンティティが保存されているかどうかは関係ありません。
数日、数週間、数か月前のリビジョンに戻そうとしましたが、アプリのロジックが壊れているため、実際に数週間、数か月前だった場合は間違いなく気づいていたにもかかわらず、問題はまだ存在しています。Ubuntu と OSX の両方を実行しているさまざまなマシンに存在し、実稼働環境のすべてのアプリ バージョンにも存在し、テストした他の少なくとも 1 つのアプリケーションにも存在します。SDK データストアを消去し、別のポートを使用し、memcache と taskqueue をフラッシュし、SDK を再インストールし、必死になって思いつく他のすべてのデバッグ トリックを行った後も、まだ存在しています。
影響を受けない 1 つの場所は、管理コンソールです。同じ一連のコードで、変更されたエンティティの期待される結果が得られます。問題を引き起こしている可能性があると考えられるすべてのモジュールまたはクラスをインポートした後でも、コンソールは常に期待どおりに動作します。私のコードにはこの問題を引き起こしているものは何もないという別の兆候 (そして、私は完全に正気ではありません)。
数日前の時点で、管理コンソールからできるのと同じように、アプリ内からエンティティを変更できると確信しています。結局のところ、不変エンティティはあまり役に立ちません。
アドバイスをいただければ幸いです。この問題が修正されるまで開発を続けることができないのではないかと心配しています。