有没有办法在ListProperty中存储带有值的标志?

时间:2012-07-14 01:11:56

标签: python google-app-engine google-cloud-datastore

我需要存储一个电子邮件列表,其中包含一个标记,说明是否启用了给定的电子邮件。

据我所知,保存此标志是没有办法的,因为item_type的{​​{1}}不能是类或字典。

我将使用两个列表实现此目的,一个用于启用的电子邮件,另一个用于禁用的电子邮件。

有更好的方法吗?

2 个答案:

答案 0 :(得分:2)

使用直接的db.Model,没有太多选择。

另一种方法是将词典存储在BlobProperty中。但我认为你现有的选择更好。您可以提出自己的属性类型,它可以很好地打包和解包dicttuple。有关自定义属性的一些示例,请参阅https://github.com/Arachnid/aetycoon/

或者,如果您对项目不太了解,请将NDB视为备用数据模型,并使用StructuredProperty,它几乎就是您想要的。

阅读https://developers.google.com/appengine/docs/python/ndb/properties#structured

答案 1 :(得分:0)

使用DB API,两个列表是您的最佳选择。您还可以存储电子邮件列表以及“已启用”布尔值列表,如果这样更方便的话。