【发布时间】:2012-07-14 01:11:56
【问题描述】:
我需要存储一个带有标志的电子邮件列表,说明给定的电子邮件是启用还是禁用。
据我所知,无法保存此标志,因为 ListProperty 的 item_type 不能是类或字典。
我将使用两个列表来实现这一点,一个用于启用的电子邮件,另一个用于禁用的电子邮件。
有没有更好的方法来做到这一点?
【问题讨论】:
标签: python google-app-engine google-cloud-datastore
我需要存储一个带有标志的电子邮件列表,说明给定的电子邮件是启用还是禁用。
据我所知,无法保存此标志,因为 ListProperty 的 item_type 不能是类或字典。
我将使用两个列表来实现这一点,一个用于启用的电子邮件,另一个用于禁用的电子邮件。
有没有更好的方法来做到这一点?
【问题讨论】:
标签: python google-app-engine google-cloud-datastore
直接使用 db.Model 并没有太多选择。
另一种方法是将字典存储在BlobProperty 中。但我认为你现有的选择更好。你可以想出你自己的属性类型,它可以很好地打包和解包dict或tuple。有关自定义属性的一些示例,请参阅 https://github.com/Arachnid/aetycoon/。
或者,如果您的项目并不太了解,可以将 NDB 视为替代数据模型,并使用几乎正是您想要的 StructuredProperty。
阅读https://developers.google.com/appengine/docs/python/ndb/properties#structured
【讨论】:
两个列表是 DB API 的最佳选择。如果这样更方便,您还可以存储电子邮件列表和“启用”布尔值列表。
【讨论】: