私は最近、いくつかの追加プロパティを含むようにエンティティモデルを更新し、何か奇妙なことに気付きました。一度も書き込まれていないプロパティの場合、Datastoreクエリページには「 - 」が表示されますが、Pythonで明示的にNone
に設定したものの場合は「null」と表示されます。Google App EngineのNDBデータストアに、不明なデータの「 - 」と「null」の両方があるのはなぜですか?
SQLでは、これらのケースの両方がnullになります。両方のタイプの不明なプロパティを持つエンティティにクエリを実行すると、両方ともNone
と解釈され、そのアイデアに合致します。
なぜNDBデータストアビューアは、プログラムで区別できない場合、「書かれていない」と「None
に設定されています」を区別しますか?
GAEは*キーと値のペアを実際に格納します*これらはオブジェクトごとにまとめられています。キーと値のペアが存在しない場合は、NULLを指すキーと値のペアとは異なります。 –