2024-06-11 04:20:22 发布
网友
导入数据库和导入数据存储有什么区别
from google.appengine.ext import db # ore from google.appengine.api import datastore
我试图了解如何从cccwiki中的页面获取名称:
它们完全不同。在
google.appengine.api.datastore是数据存储访问API。它类似于SQL数据库的数据库驱动程序。它允许您连接到数据存储并运行查询。
google.appengine.api.datastore
google.appengine.ext.db是一个数据建模API。它让你为你将要存储在数据存储中的数据建模。它类似于SQLAlchemy和Django的数据建模层。它让您可以用更容易将操作转换为查询的方式来表达应用程序中需要的数据。
google.appengine.ext.db
换句话说,使用google.appengine.ext.db可以创建一个模型,并使用google.appengine.api.datastore操作该模型(添加和删除实体,更改这些实体的属性)会导致对底层数据存储的查询。在
您的WikiPage代码不使用模型;它直接查询数据存储。我相信cccwiki确实有它自己的Page类,您可以使用name参数和查询返回的数据创建这些类:
WikiPage
cccwiki
Page
name
page = Page(name, entities_list[0])
entities_list结果集中的每个条目在任何情况下都是一个字典,其内容取决于首先在记录中存储内容的代码。在cccwiki代码的情况下,我希望看到content、user、created和{}键。在
entities_list
content
user
created
如果有一个使用google.appengine.ext.dbAPI定义的Page类,则使用该类查询页面:
然后可以访问结果的属性。在
它们完全不同。在
google.appengine.api.datastore
是数据存储访问API。它类似于SQL数据库的数据库驱动程序。它允许您连接到数据存储并运行查询。google.appengine.ext.db
是一个数据建模API。它让你为你将要存储在数据存储中的数据建模。它类似于SQLAlchemy和Django的数据建模层。它让您可以用更容易将操作转换为查询的方式来表达应用程序中需要的数据。换句话说,使用
google.appengine.ext.db
可以创建一个模型,并使用google.appengine.api.datastore
操作该模型(添加和删除实体,更改这些实体的属性)会导致对底层数据存储的查询。在您的
WikiPage
代码不使用模型;它直接查询数据存储。我相信cccwiki
确实有它自己的Page
类,您可以使用name
参数和查询返回的数据创建这些类:entities_list
结果集中的每个条目在任何情况下都是一个字典,其内容取决于首先在记录中存储内容的代码。在cccwiki
代码的情况下,我希望看到content
、user
、created
和{如果有一个使用
^{pr2}$google.appengine.ext.db
API定义的Page
类,则使用该类查询页面:然后可以访问结果的属性。在
相关问题 更多 >
编程相关推荐