我在尝试使用 AppEngine 框架中的 ndb 查询对象时遇到一些问题。我对 ndb 很陌生,我想我误解了一些重要的概念。
这是我所拥有的:
我有我的模型Teacher
:
from webapp2_extras.appengine.auth.models import User
class Teacher(ndb.Model):
user = ndb.StructuredProperty(User)
ranking = ndb.FloatProperty(required=True)
如您所见,用户模型来自 webapp2 框架。然后我尝试查询与某个用户关联的老师。我这样做:
def _findTeacher(self, user):
t = Teacher.query(Teacher.user == user).fetch(1)
if t:
return t[0]
else:
return None
作为该函数的参数来的用户获取方式如下:
user_session = self.auth.get_user_by_session()
user = self.auth.store.user_model.get_by_auth_token(user_session['user_id'], user_session['token'])[0]
但是,我收到以下错误:
BadFilterError: invalid filter: Cannot query for non-empty repeated property auth_ids.
我真的很想知道我的错误在哪里,并且使用 ndb 和 webapp2 auth 系统的应用程序示例也将非常有帮助。
谢谢你们