我正在構建一個包含用戶及其活動的應用程序。現在我正在考慮設置數據存儲模型的最佳方式。哪一個是最快/首選的,爲什麼?鍵或單獨模型的列表?
甲
class User(db.Model):
activities = db.ListProperty(db.Key)
...
class Activity(db.Model):
...
activities = db.get(user.activities)
或
乙
class User(db.Model):
...
class Activity(db.Model):
owner = db.ReferenceProperty(reference_class=User)
...
activities = Activity.filter('owner =', user)
儘管答案很好,但值得注意的是,您並未真正提供足夠的信息。關於哪個解決方案更好的問題是如何使用數據。你會做什麼樣的查詢?每個用戶會有多少活動?等等。 – 2012-03-28 13:38:41
新的活動將在用戶互動時創建,例如遵循彼此或推薦的東西。在這種情況下,將爲用戶提交活動存儲傳出活動,如果存在任何活動,則會存儲用於接收用戶的存儲活動。用戶活動將在訪問該用戶個人資料頁面或該用戶登錄時提取。 – pthulin 2012-03-28 17:31:29