在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