我在appengine做了一个在线商店,我正在创建一个模型,它将在db中保存商店的设置,代码如下所示:
class StoreSettings(ndb.Model):
name = ndb.StringProperty()
homepageTitle = ndb.StringProperty()
metaKeywords = ndb.StringProperty()
metaDescription = ndb.StringProperty()
timezone = ndb.IntegerProperty()
currency = ndb.StringProperty()
是否有一种简单的方法可以使StoreSettings类成为单例?
由于
答案 0 :(得分:1)
初始化设置时,您可以提供key_name,然后当您需要检索它时,可以使用get_or_insert
方法。如果它不存在,它将创建它,否则它将检索它。
settings_db = StoreSettings.get_or_insert(
'my_settings',
name='yourname'
....
)
或者,如果您在应用程序启动时创建对象,则可以通过密钥名称
获取该对象 settigns_db = StoreSettings.get_by_id('my_settings')
答案 1 :(得分:0)
保持相同的密钥?每当您在数据存储区中推送实体时,它都需要一个密钥。
如果使用相同的密钥创建第二个对象,则最终会覆盖前一个实体。