首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ndb单例模式

ndb单例模式
EN

Stack Overflow用户
提问于 2014-10-07 20:49:15
回答 2查看 285关注 0票数 1

我正在appengine中创建一个在线商店,我正在创建一个模型,该模型将保存数据库中存储的设置,代码如下所示:

代码语言:javascript
复制
class StoreSettings(ndb.Model):
    name = ndb.StringProperty()
    homepageTitle = ndb.StringProperty()
    metaKeywords = ndb.StringProperty()
    metaDescription = ndb.StringProperty()
    timezone = ndb.IntegerProperty()
    currency = ndb.StringProperty()

是否有一种简单的方法可以使StoreSettings类成为单例?

谢谢

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-10-10 08:57:51

当您初始化您的设置时,您可以提供一个key_name,然后当您必须检索它时,您可以使用get_or_insert方法。如果它不存在,它将创建它,否则它将检索它。

代码语言:javascript
复制
settings_db = StoreSettings.get_or_insert(
    'my_settings',
    name='yourname'
    ....
)

或者,如果在应用程序启动时创建对象,则只需使用键名即可获得该对象。

settigns_db = StoreSettings.get_by_id('my_settings')

票数 1
EN

Stack Overflow用户

发布于 2014-10-07 20:50:17

保持同样的钥匙?每当您在数据存储中推送一个实体时,它都需要一个键。

如果您用相同的键创建了第二个对象,那么它最终会重写上一个实体。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26245034

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档