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'不会返回(=读取)整个实体? –
是的。所以只能放在那里。 –