在Python/Google应用程序引擎中,为了节省资源并加快速度,我想将属性存储为关键名称。但我不知道如何获取关键名称列表。如何获取Python/Google应用引擎中的键名列表?
作为一个例子,考虑数据模型:
class Book(db.Model):
isbn = db.StringProperty() # Make this a key name instead.
category = db.StringProperty()
author = db.StringProperty()
title = db.StringProperty()
...
现在让我们假设我设置的键名到ISBN,而不是使其成为一个属性名称:
new_book = Book(category="fantasy,comedy", title="The Light Fantastic", author="Terry Pratchett", key_name=isbn_number)
我猜,如果我能找到获取关键名称列表的方法,我会节省资源?例如,检查某本书是否已经在收藏中。
这是否正确,以及如何获取关键名称列表?
如果不是这种情况,那么将下面是一个体面的妥协:
class ISBN(db.Model):
isbn = db.StringProperty()
class Book(db.Model):
isbn = db.ReferenceProperty(ISBN)
category = db.StringProperty()
author = db.StringProperty()
title = db.StringProperty()
...
难道节约资源/更快?
我对你的模型有一些建议。你可能应该把'category'和'author'作为一个'StringListProperty'(或者他们称之为的任何东西,我一会儿没有用过GAE)而不是一个字符串。操纵和搜索更容易。 – Haochi 2011-03-23 15:39:28