1
我有兩個類:如何檢查GAE NDB中的記錄是否存在?
class User(ndb.Model): # key is user's email
phone = ndb.IntegerProperty(indexed=False)
...
class Question(ndb.Model):
user = ndb.KeyProperty(kind=User)
...
,並使用下面的代碼對用戶的問題,添加到數據存儲:
q = Question()
...
user = User.get_by_id(email)
if user:
q.user = ndb.Key(User, email)
(問題可能由未知用戶加入)
我做它正確嗎?我應該以某種方式優化代碼(使用keys_only
?)以減少讀取/寫入NDB操作的數量?
我想你是對的。既然你基於用戶的電子郵件是關鍵,那麼你只能使用密鑰。其他那些我在這裏看不到任何優化。 –
@JimmyKane,當我做'get_by_id'不會返回(=讀取)整個實體? –
是的。所以只能放在那裏。 –