Mic*_*dek 5 google-app-engine python-2.7 google-cloud-datastore
我在GoogleAppEngine上使用NDB,我想通过将电子邮件传递给查询来检索实例密钥或ID.
我的模型看起来像这样:
class Users(ndb.Model):
user_name = ndb.StringProperty(required=True)
user_email = ndb.StringProperty(required=True)
user_password = ndb.StringProperty(required=True)
@classmethod
def get_password_by_email(cls, email):
return Users.query(Users.user_email == email).get(projection=[Users.key, Users.user_password])
Run Code Online (Sandbox Code Playgroud)
运行代码时,我收到以下错误:
BadProjectionError: Projecting on unknown property __key__
Run Code Online (Sandbox Code Playgroud)
如何通过AppEngine的NDB中的电子邮件查询用户(例如登录过程)来获取实例ID或密钥?
谢谢!
Gre*_*reg 14
投影查询将始终包含密钥以及您指定的字段,因此如果keys_only不够,则:
return Users.query(Users.user_email == email).get(projection=[Users.password])
Run Code Online (Sandbox Code Playgroud)
如果您只需要Key,则可以尝试仅使用密钥查询:
Users.query(Users.user_email == email).get(keys_only=True)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1251 次 |
| 最近记录: |