App Engine に次の Java モデル クラスがあります。
public class Xyz ... {
@Persistent
private Set<Long> uvw;
}
Java で空のセットuvwを使用してオブジェクトXyzを保存すると、「 null」フィールドが表示されます (appengine データストア ビューアに表示されます)。次の Python モデル クラスで定義されているように、(remote_api を介して) Python で同じオブジェクトを読み込もうとすると、次のようになります。
class Xyz(db.Model):
uvw = db.ListProperty(int)
「BadValueError: プロパティ uvw が必要です」というメッセージが表示されます。
空のuvwリストを使用して Python で同じクラスの別のオブジェクトを保存すると、データストア ビューアは「不足している」フィールドを出力します。
空のリストのストレージ処理が Java と Python で異なるようで、「互換性のない」オブジェクトにつながります。
したがって、私の質問:次のいずれかの方法はありますか:
- Java に空のリストを「欠落」フィールドとして格納するように強制する。
- オブジェクトをロードするときに、Python が「null」リストを空のリストとして優雅に受け入れるように強制しますか?
または、両方の言語で空のリスト フィールドを処理する方法に関するその他の提案。
回答ありがとうございます。