使用 appengine 的数据存储框架,使 {} 持久化的 pythonic 方法是什么?
最佳答案
如果您打算查询单个字典元素,则只需要使用 expando 选项。
假设您不想这样做,那么您可以使用自定义属性 -
class ObjectProperty(db.Property):
data_type = db.Blob
def get_value_for_datastore(self, model_instance):
value = self.__get__(model_instance, model_instance.__class__)
pickled_val = pickle.dumps(value)
if value is not None: return db.Blob(pickled_val)
def make_value_from_datastore(self, value):
if value is not None: return pickle.loads(str(value))
def default_value(self):
return copy.copy(self.default)
请注意,上面的属性定义是我从 Nick Johnson 生成的一些代码中获得的。这是一个project on git hub ,并包含许多其他自定义属性。
关于python - 如何在 google appengine 上持久化一个 python 字典,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3203543/