我在 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: Property uvw is required ”。
在 Python 中使用空的uvw列表保存同一类的另一个对象时,Datastore 查看器会打印一个“缺失”字段。
显然空列表存储处理在 Java 和 Python 之间有所不同,并导致“不兼容”对象。
因此我的问题是:有没有办法:
- 强制 Java 将空列表存储为“缺失”字段,
- 加载对象时强制Python优雅地接受“null”列表作为空列表?
或有关如何处理两种语言的空列表字段的任何其他建议。
感谢您的回答!