【问题标题】:Google App Engine: Saving a list of objects?Google App Engine:保存对象列表?
【发布时间】:2009-08-19 23:50:43
【问题描述】:

我需要在我的模型中保存来自数据存储中某个类的对象列表。

有没有什么简单的方法可以用 ListProperty 和自定义属性来存档,而不需要进入 pickled/simplejson blob 数据?

我只想要这样的东西:

class Test:
     pass

class model(db.Model):
     list = db.ListProperty(Test)

查看 GAE 文档,我真的无法判断当前版本是否不可能。

我试图避免酸洗,因为它很慢并且有大小限制。

【问题讨论】:

  • 感谢您确认我的评估。只是希望我被证明是错的。

标签: google-app-engine properties listproperty


【解决方案1】:

您只能将有限的一组类型直接存储在数据存储中。要存储您自己的类型,您需要以某种方式将它们转换为一种可接受的类型 - 酸洗是一种常见的方法,将其序列化为 JSON 也是如此。

大小限制并非酸洗独有 - 1MB 是您可以插入的最大实体,无论字段和类型如何。

【讨论】:

    【解决方案2】:

    您可以通过创建测试模型/实体类型将测试对象直接保存在数据存储中。否则,您将不得不以某种方式对它们进行序列化(使用 pickle 或 json 之类的东西)

    【讨论】:

      【解决方案3】:

      你可以有一个键列表 或者您可以为“测试”实体提供一个父级,该父级是您的“模型”类的实体

      【讨论】:

        猜你喜欢
        • 2013-12-18
        • 1970-01-01
        • 2011-06-17
        • 1970-01-01
        • 1970-01-01
        • 2015-02-26
        • 1970-01-01
        • 2012-11-28
        • 1970-01-01
        相关资源
        最近更新 更多