python-如何使用高复制数据存储
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了python-如何使用高复制数据存储,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2476字,纯文字阅读大概需要4分钟。
内容图文
![python-如何使用高复制数据存储](/upload/InfoBanner/zyjiaocheng/674/6bbf99d2f6b74cc6abb531c596c559fb.jpg)
好的,我已经看过video并阅读了App Engine文档(包括Using the High Replication Datastore)中的文章.但是,我仍然对它的实际使用感到困惑.我了解(从视频中获得的)好处,而且听起来很棒.但是我缺乏一些实际的例子.网上有很多主/从示例,但很少(使用适当的文档)说明高复制数据存储. Using the High Replication Datastore文章中使用的留言簿代码示例通过添加以前的留言簿代码示例不具备的新功能(似乎可以更改留言簿)来说明祖先键.这只会增加混乱.
我经常在GAE上使用djangoforms,我想知道是否有人可以帮助我将所有这些查询转换为与高复制数据存储区兼容的查询(让我们暂时忘记一下,并不是所有查询都必须是与高复制数据存储区兼容的查询,而是着眼于示例本身).
更新:具有高复制数据存储兼容查询的查询是指始终返回最新数据而不是潜在的过时数据的查询.使用实体组似乎是解决问题的方法,但是如前所述,我没有许多实际的代码示例来实现此目的,所以这就是我想要的!
因此the queries in this article是:
本文中的主要重复查询是:
query = db.GqlQuery("SELECT * FROM Item ORDER BY name")
我们将其翻译为:
query = Item.all().order('name') // datastore request
验证表单的过程如下:
data = ItemForm(data=self.request.POST)
if data.is_valid():
# Save the data, and redirect to the view page
entity = data.save(commit=False)
entity.added_by = users.get_current_user()
entity.put() // datastore request
并从数据存储区获取最新条目以填充表单的过程如下:
id = int(self.request.get('id'))
item = Item.get(db.Key.from_path('Item', id)) // datastore request
data = ItemForm(data=self.request.POST, instance=item)
那么,我/我们需要怎么做才能使所有这些数据存储请求与高复制数据存储兼容?
最后一件事我也不清楚.使用祖先键,这是否会对数据存储区中的模型产生任何影响.例如,在留言簿代码示例中,他们使用:
def guestbook_key(guestbook_name=None):
return db.Key.from_path('Guestbook', guestbook_name or 'default_guestbook')
但是’Guestbook’不存在in the model,那么如何在此上使用’db.Key.from_path’,为什么这样做呢?这是否会更改数据存储在数据存储中的方式,在检索数据时需要注意这一点(例如,是否添加了我在使用djangoforms时不应显示的其他字段)?
就像我之前说过的,这让我很困惑,非常感谢您的帮助!
解决方法:
我不确定您为什么认为根本需要更改查询.您链接到的文档明确指出:
The back end changes, but the datastore API does not change at all. You’ll use the same programming interfaces no matter which datastore you’re using.
该页面的目的只是说,如果您不使用实体组,查询可能会不同步.您的最终代码段只是其中的一个示例-字符串“ Guestbook”恰好是祖先键.我不明白您为什么认为它需要存在于模型中.再次,这与非HR数据存储区相同-通常情况是,键是由可以由任意字符串组成的路径构建的.您可能需要重新阅读entity groups and keys上的文档.
内容总结
以上是互联网集市为您收集整理的python-如何使用高复制数据存储全部内容,希望文章能够帮你解决python-如何使用高复制数据存储所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。